[{"data":1,"prerenderedAt":1600},["ShallowReactive",2],{"news:\u002Fnews\u002Fdrag-a-task-to-connekz":3,"news:all":118},{"id":4,"title":5,"author":6,"body":7,"category":100,"cover":101,"date":102,"description":103,"draft":104,"extension":105,"featured":104,"hero":106,"meta":107,"navigation":108,"path":109,"seo":110,"stem":111,"tags":112,"updated":116,"__hash__":117},"blog\u002Fnews\u002Fdrag-a-task-to-connekz.md","New: drag a task to Connekz and get a pull request","The CNEX team",{"type":8,"value":9,"toc":93},"minimark",[10,19,25,30,33,38,45,49,52,74,78,85],[11,12,13,14,18],"p",{},"Today Connekz graduates from \"the assistant in the corner\" to a ",[15,16,17],"strong",{},"teammate on your sprint board"," — with an avatar and an hourly rate, sitting in the same column as your humans.",[11,20,21,22],{},"The headline: ",[15,23,24],{},"you can drag a task to Connekz and get a pull request back.",[26,27,29],"h2",{"id":28},"how-it-works","How it works",[11,31,32],{},"You assign a card exactly the way you'd assign one to a person. From there, Connekz takes over the predictable part:",[34,35],"portal-figure",{"caption":36,"shot":37},"Drag the card to Connekz → tests written → suite green → PR opened, ready for your review.","run",[11,39,40,41,44],{},"It reads the acceptance criteria, spins up a real workspace, finds the prerequisites in your codebase, ",[15,42,43],{},"writes the tests first",", then the implementation. It runs lint, types and the full suite, and opens a pull request with the diff.",[26,46,48],{"id":47},"what-you-stay-in-control-of","What you stay in control of",[11,50,51],{},"Nothing about the review changes — that's the point:",[53,54,55,62,68],"ul",{},[56,57,58,61],"li",{},[15,59,60],{},"Tests first",", so \"done\" means proven.",[56,63,64,67],{},[15,65,66],{},"Quality-checked before it lands"," — what reaches your PR queue is worth reviewing.",[56,69,70,73],{},[15,71,72],{},"You merge."," Connekz opens the PR; a human always says the final yes.",[26,75,77],{"id":76},"available-now","Available now",[11,79,80,81,84],{},"AI engineer roles are included from the ",[15,82,83],{},"Starter"," plan up. If you already write clear acceptance criteria, you'll feel the difference on day one.",[86,87,90],"cta",{"href":88,"title":89},"\u002Fproduct\u002Fai-engineer","Put an AI engineer on your board",[11,91,92],{},"See exactly how it works — assign a card, get a tested PR, review every change.",{"title":94,"searchDepth":95,"depth":95,"links":96},"",2,[97,98,99],{"id":28,"depth":95,"text":29},{"id":47,"depth":95,"text":48},{"id":76,"depth":95,"text":77},"news","\u002Fimages\u002Fnews\u002Fog-board-assign.png","2026-04-22","Connekz is now a first-class teammate on your sprint board. Assign a card like you would to any developer — it writes the tests, opens a PR, and waits for your review.",false,"md","board-assign",{},true,"\u002Fnews\u002Fdrag-a-task-to-connekz",{"title":5,"description":103},"news\u002Fdrag-a-task-to-connekz",[113,114,115],"releases","ai-engineer","connekz",null,"qZMlrCFv3shJTQJwN44Crz16mCtfjUm0-sE-hxqRCJs",[119,223,296,372,450,568,657,805,911,968,1210,1458],{"id":120,"title":121,"author":6,"body":122,"category":210,"cover":211,"date":212,"description":213,"draft":104,"extension":105,"featured":104,"hero":214,"meta":215,"navigation":108,"path":216,"seo":217,"stem":218,"tags":219,"updated":116,"__hash__":222},"blog\u002Fnews\u002Fa-week-running-our-company-on-cnex-flow.md","A week of running our company on CNEX-Flow",{"type":8,"value":123,"toc":203},[124,127,131,134,138,142,154,158,162,169,173,180,184,187,196],[11,125,126],{},"The best way to trust a tool is to watch the people who made it actually use it. So here's an honest, unglamorous week of running our own company on CNEX-Flow — no highlight reel, just the loop.",[26,128,130],{"id":129},"monday-the-inbox-sorts-itself","Monday — the inbox sorts itself",[11,132,133],{},"A prospect emails. By the time we open the portal, it's already a contact on the CRM with the email filed against it. No re-typing, no \"I'll log that later.\" The day starts from a clean source of truth.",[34,135],{"caption":136,"shot":137},"Monday's inbox, already filed: the client, the email, the next step — one timeline.","clients",[26,139,141],{"id":140},"tuesday-talking-to-the-portal-mid-call","Tuesday — talking to the portal mid-call",[11,143,144,145,149,150,153],{},"On a call with a customer, we ask Connekz ",[146,147,148],"em",{},"\"what did we promise Acme last time?\""," and ",[146,151,152],{},"\"create a follow-up for Friday\""," — without touching the mouse. The notes write themselves into the right record while we stay in the conversation.",[34,155],{"caption":156,"shot":157},"Tuesday's call: ask, and Connekz answers from the live record.","voice",[26,159,161],{"id":160},"wednesday-handing-work-to-connekz","Wednesday — handing work to Connekz",[11,163,164,165,168],{},"A well-defined ticket — a small feature with clear acceptance criteria — goes to Connekz. It writes the tests, implements, and opens a PR. We get on with the harder design work it ",[146,166,167],{},"can't"," do.",[26,170,172],{"id":171},"thursday-the-human-gate","Thursday — the human gate",[11,174,175,176,179],{},"We review the PR. One inline comment, a quick fix, and it's green again. This is the part we never skip: ",[15,177,178],{},"a human reads and merges every change."," That's the whole reason the loop is safe.",[26,181,183],{"id":182},"friday-what-shipped-and-what-didnt","Friday — what shipped, and what didn't",[11,185,186],{},"Some of the week shipped through Connekz; some needed a senior's judgement and stayed with us. That's the honest split — and it's the point. The predictable work got absorbed so the hard work got our full attention.",[11,188,189,190,195],{},"That's the loop, every week. If you want the origin story behind it, ",[191,192,194],"a",{"href":193},"\u002Fstory","read how we built CNEX-Flow with it",".",[86,197,200],{"href":198,"title":199},"\u002Fproduct\u002Fconnekz","Run your shop the way we run ours",[11,201,202],{},"One platform for the client work, the calls and the code — with an AI across all of it. Start a free month and try the loop.",{"title":94,"searchDepth":95,"depth":95,"links":204},[205,206,207,208,209],{"id":129,"depth":95,"text":130},{"id":140,"depth":95,"text":141},{"id":160,"depth":95,"text":161},{"id":171,"depth":95,"text":172},{"id":182,"depth":95,"text":183},"engineering","\u002Fimages\u002Fnews\u002Fog-the-week.png","2026-05-22","We don't just build CNEX-Flow — we run our own shop on it. Here's an honest, ordinary week: the client work, the calls, the code, and where a human stepped in.","the-week",{},"\u002Fnews\u002Fa-week-running-our-company-on-cnex-flow",{"title":121,"description":213},"news\u002Fa-week-running-our-company-on-cnex-flow",[220,115,221],"build-in-public","dogfooding","M2qyUaMCQLf6MjktH_DLctrwwhXiTpOIGjP4tJMDedY",{"id":224,"title":225,"author":6,"body":226,"category":100,"cover":285,"date":286,"description":287,"draft":104,"extension":105,"featured":108,"hero":288,"meta":289,"navigation":108,"path":290,"seo":291,"stem":292,"tags":293,"updated":116,"__hash__":295},"blog\u002Fnews\u002Fwhat-shipped-this-month.md","What shipped this month",{"type":8,"value":227,"toc":280},[228,231,235,238,241,245,248,258,262,265],[11,229,230],{},"We ship small and often. Here's what landed this month — nothing earth-shattering, just steady progress you can use today.",[26,232,234],{"id":233},"calls-and-messages-in-one-thread","Calls and messages in one thread",[11,236,237],{},"Your in-app chat, SMS, and phone calls with a client now live in a single thread. No more stitching the story together across three tools — open a company and read the whole conversation top to bottom.",[34,239],{"caption":240,"shot":137},"One client, one timeline — calls, messages and tasks together.",[26,242,244],{"id":243},"post-call-summaries-you-can-act-on","Post-call summaries you can act on",[11,246,247],{},"When a call ends, CNEX-Flow drafts a summary and a short list of suggested follow-ups. You review them, edit anything that's off, and save — nothing is filed without your say-so.",[249,250,251],"tip",{},[11,252,253,254,257],{},"Every AI suggestion on a call is a ",[15,255,256],{},"draft",". You stay in the loop: review, edit, then save. Nothing posts to a client or a record on its own.",[26,259,261],{"id":260},"a-quicker-sprint-board","A quicker sprint board",[11,263,264],{},"The board got faster to load and smoother to drag on. Small thing, but you live in it all day — so it matters.",[11,266,267,268,272,273,149,276,279],{},"That's the month. Want the running list as it happens? Grab the ",[191,269,271],{"href":270},"\u002Fnews\u002Frss.xml","RSS feed",", and see where we're headed on the ",[191,274,275],{"href":88},"AI engineer",[191,277,278],{"href":198},"Connekz"," pages.",{"title":94,"searchDepth":95,"depth":95,"links":281},[282,283,284],{"id":233,"depth":95,"text":234},{"id":243,"depth":95,"text":244},{"id":260,"depth":95,"text":261},"\u002Fimages\u002Fnews\u002Fog-comms-thread.png","2026-05-20","A short, honest roundup of what landed in CNEX-Flow this month — unified call threads, post-call AI summaries, and a faster sprint board.","comms-thread",{},"\u002Fnews\u002Fwhat-shipped-this-month",{"title":225,"description":287},"news\u002Fwhat-shipped-this-month",[113,294],"product","8lcb0_WNa09jt-eeOzFEwW_yfo4xcYMl5Sbm-UyKT6E",{"id":297,"title":298,"author":6,"body":299,"category":360,"cover":361,"date":362,"description":363,"draft":104,"extension":105,"featured":104,"hero":364,"meta":365,"navigation":108,"path":366,"seo":367,"stem":368,"tags":369,"updated":116,"__hash__":371},"blog\u002Fnews\u002Ftake-on-more-clients-without-hiring.md","How to take on more clients without hiring (or dropping the ball)",{"type":8,"value":300,"toc":355},[301,304,311,315,318,322,325,328,335,339,342,345],[11,302,303],{},"Every growing IT shop hits the same wall. More clients want in, but your senior people are already maxed — so you either hire ahead of revenue (risky) or turn work away (painful). Quality is the thing that quietly suffers in between.",[11,305,306,307,310],{},"There's a third path: don't add people to do the predictable work — ",[146,308,309],{},"delegate"," it.",[26,312,314],{"id":313},"the-bottleneck-is-rarely-the-hard-stuff","The bottleneck is rarely the hard stuff",[11,316,317],{},"Look at where your seniors' hours actually go. A surprising chunk isn't the gnarly architecture — it's the well-defined work around it: CRUD pages, integrations, refactors, test coverage, the fixes. Necessary, valuable, and a poor use of your most expensive people.",[26,319,321],{"id":320},"delegate-the-predictable-keep-the-hard","Delegate the predictable, keep the hard",[11,323,324],{},"That predictable tier is exactly what an AI engineering teammate is good at. Write a clear ticket, hand it to Connekz, and get a tested PR back — while your seniors stay on the work only they can do.",[34,326],{"caption":327,"shot":37},"The predictable work, delegated: a clear ticket in, a tested PR out — your seniors never touched it.",[11,329,330,331,334],{},"You're not lowering the bar, because ",[15,332,333],{},"you still review every PR."," You're just spending your senior hours where they actually move the needle.",[26,336,338],{"id":337},"the-math","The math",[11,340,341],{},"A full dev teammate that ships overnight costs less than one contractor day a month. For a shop weighing \"hire a junior vs turn down a project,\" that's a different equation entirely — capacity you can switch on this week, without the payroll risk.",[11,343,344],{},"Take on the next client. Let Connekz absorb the predictable load. Keep your quality — and your weekends.",[86,346,348],{"href":88,"title":347},"Add capacity without adding headcount",[11,349,350,351,195],{},"See how the AI engineer ships the predictable work — then check what it costs on the ",[191,352,354],{"href":353},"\u002Fpricing","pricing page",{"title":94,"searchDepth":95,"depth":95,"links":356},[357,358,359],{"id":313,"depth":95,"text":314},{"id":320,"depth":95,"text":321},{"id":337,"depth":95,"text":338},"guides","\u002Fimages\u002Fnews\u002Fog-capacity.png","2026-05-16","Growth usually forces a choice: take on more work and let quality slip, or hold the line and turn clients away. Here's a third option — delegate the predictable work, keep your seniors on the hard problems.","capacity",{},"\u002Fnews\u002Ftake-on-more-clients-without-hiring",{"title":298,"description":363},"news\u002Ftake-on-more-clients-without-hiring",[364,114,370],"operations","jIl1cEPIS9CEP6oNawwZwfAri7MpTGbpLh_KJMF73Rs",{"id":373,"title":374,"author":6,"body":375,"category":210,"cover":439,"date":440,"description":441,"draft":104,"extension":105,"featured":104,"hero":442,"meta":443,"navigation":108,"path":444,"seo":445,"stem":446,"tags":447,"updated":116,"__hash__":449},"blog\u002Fnews\u002Fwhy-our-ai-engineer-writes-tests-first.md","Why our AI engineer writes the tests first",{"type":8,"value":376,"toc":434},[377,384,390,394,401,404,408,418,422,425,428],[11,378,379,380,383],{},"Ask most AI coding tools to \"build X\" and they'll write X, then maybe some tests that conveniently pass. That's backwards — and it's why so much AI output is ",[146,381,382],{},"almost"," right.",[11,385,386,387],{},"Connekz does it the other way round: ",[15,388,389],{},"the tests come first.",[26,391,393],{"id":392},"done-should-mean-proven","\"Done\" should mean \"proven\"",[11,395,396,397,400],{},"When the acceptance criteria become tests ",[146,398,399],{},"before"," a line of implementation, \"done\" stops being a vibe and starts being a fact. The code has to satisfy the behaviour you actually asked for — not just look plausible in a diff.",[34,402],{"caption":403,"shot":37},"Acceptance criteria → tests → implementation → green suite → PR. In that order.",[26,405,407],{"id":406},"it-kills-the-almost-right","It kills the \"almost right\"",[11,409,410,411,149,414,417],{},"Most of the frustration with AI code is the gap between ",[146,412,413],{},"looks done",[146,415,416],{},"is done",". Tests-first closes that gap: an edge case that isn't handled is a red test, caught before the PR ever reaches you — not a bug you discover in production on a Friday.",[26,419,421],{"id":420},"you-still-review","You still review",[11,423,424],{},"Tests-first doesn't replace your judgement; it earns your review. What lands in your PR queue already has green tests against clear criteria, so the time you spend reviewing is spent on the things that actually need a human — design, trade-offs, taste — not hunting for obvious breakage.",[11,426,427],{},"That's the whole reason we trust Connekz with real work: not because it's clever, but because it proves itself first, every time.",[86,429,431],{"href":88,"title":430},"See the tests-first loop",[11,432,433],{},"Assign a real task and watch the tests go green before the PR opens.",{"title":94,"searchDepth":95,"depth":95,"links":435},[436,437,438],{"id":392,"depth":95,"text":393},{"id":406,"depth":95,"text":407},{"id":420,"depth":95,"text":421},"\u002Fimages\u002Fnews\u002Fog-tests-first.png","2026-05-10","The single most important thing Connekz does isn't writing code — it's writing the tests before the code. Here's why that ordering is what makes AI-written work trustworthy.","tests-first",{},"\u002Fnews\u002Fwhy-our-ai-engineer-writes-tests-first",{"title":374,"description":441},"news\u002Fwhy-our-ai-engineer-writes-tests-first",[114,448,115],"testing","QQJ2gUOIfXBVhstXJQeEdLC0foHjG0lvRDHHIM-X5do",{"id":451,"title":452,"author":6,"body":453,"category":360,"cover":556,"date":557,"description":558,"draft":104,"extension":105,"featured":104,"hero":559,"meta":560,"navigation":108,"path":561,"seo":562,"stem":563,"tags":564,"updated":116,"__hash__":567},"blog\u002Fnews\u002Fwho-has-access-to-what.md","Can you say, right now, who has access to what?",{"type":8,"value":454,"toc":551},[455,458,465,469,476,480,483,515,518,522,533,537,544],[11,456,457],{},"A contractor finished a project three months ago. Quick question: do they still have access to that client's files? If you had to think about it, you're not alone — and that pause is exactly what your cyber-insurer is worried about.",[11,459,460,461,464],{},"For a growing IT shop, ",[146,462,463],{},"\"who can see what?\""," gets harder to answer with every hire, every tool, and every client.",[26,466,468],{"id":467},"why-access-gets-messy","Why access gets messy",[11,470,471,472,475],{},"The problem isn't carelessness — it's that access lives in too many places. Every tool has its own permissions, set per-tool, per-hire. So offboarding someone means remembering all seven places they had a login, and ",[146,473,474],{},"that"," depends on memory. Orphaned accounts are how breaches (and failed audits) happen.",[26,477,479],{"id":478},"a-5-minute-audit","A 5-minute audit",[11,481,482],{},"Try this right now: pick someone who left or rolled off in the last quarter, and check each system:",[53,484,485,491,497,503,509],{},[56,486,487,490],{},[15,488,489],{},"Email \u002F shared drive"," — still a member of any client folders?",[56,492,493,496],{},[15,494,495],{},"CRM"," — still an active user?",[56,498,499,502],{},[15,500,501],{},"Repos \u002F hosting"," — keys or seats still active?",[56,504,505,508],{},[15,506,507],{},"Password manager"," — still in shared vaults?",[56,510,511,514],{},[15,512,513],{},"The client's own systems"," — still on their allow-list?",[11,516,517],{},"If you can't get to a confident \"all clear\" in five minutes, that's the gap an attacker (or an auditor) walks through.",[26,519,521],{"id":520},"one-access-model-not-seven","One access model, not seven",[11,523,524,525,528,529,532],{},"The fix is to stop managing access tool-by-tool. In CNEX-Flow, a person's access comes from their ",[15,526,527],{},"role and division"," — provision on hire, revoke on exit, in one place, with a full audit trail and a reverse lookup that answers ",[146,530,531],{},"\"who can see this client?\""," instantly.",[34,534],{"caption":535,"shot":536},"A member's real, effective permissions — what they can see, and exactly why.","access",[11,538,539,540,543],{},"And here's the part that matters for AI: ",[15,541,542],{},"if your login can't see it, neither can your AI."," Connekz inherits the exact same permissions, so asking it a question can never leak what your role couldn't already access.",[86,545,548],{"href":546,"title":547},"\u002Fsolutions\u002Fit","Know exactly who can see what",[11,549,550],{},"See how one access model — provision, revoke, audit, reverse-lookup — replaces the per-tool scramble.",{"title":94,"searchDepth":95,"depth":95,"links":552},[553,554,555],{"id":467,"depth":95,"text":468},{"id":478,"depth":95,"text":479},{"id":520,"depth":95,"text":521},"\u002Fimages\u002Fnews\u002Fog-access-panel.png","2026-05-06","For an MSP, the scariest question isn't from a client — it's from your cyber-insurer. Here's why access gets messy as you grow, a 5-minute orphaned-account audit, and how one access model fixes it.","access-panel",{},"\u002Fnews\u002Fwho-has-access-to-what",{"title":452,"description":558},"news\u002Fwho-has-access-to-what",[536,565,566],"msp","security","Q5nJoj4OCsVrk_lXIHcaMXu7LcPv-dVXiP1NRfBxAGg",{"id":569,"title":570,"author":6,"body":571,"category":100,"cover":647,"date":648,"description":649,"draft":104,"extension":105,"featured":104,"hero":650,"meta":651,"navigation":108,"path":652,"seo":653,"stem":654,"tags":655,"updated":116,"__hash__":656},"blog\u002Fnews\u002Foperate-your-portal-by-voice.md","Now live: operate your portal by voice",{"type":8,"value":572,"toc":641},[573,584,588,595,598,604,608,619,623,630,632,635],[11,574,575,576,579,580,583],{},"You shouldn't have to click through five screens to answer ",[146,577,578],{},"\"what's going on with Acme?\""," — so now you don't. ",[15,581,582],{},"Connekz operates your portal by voice"," (or chat, if you'd rather type).",[26,585,587],{"id":586},"ask-and-act","Ask, and act",[11,589,590,591,594],{},"It's not a chatbot bolted on the side. Connekz can read ",[146,592,593],{},"and"," do:",[34,596],{"caption":597,"shot":157},"Connekz knows the company you're looking at — ask, and it answers from your live data.",[11,599,600,603],{},[146,601,602],{},"\"What's the deal status with Acme? Create a follow-up for Friday. Move this card to ongoing.\""," It reads your CRM, creates the task, moves the card — real actions on your real data, in seconds.",[26,605,607],{"id":606},"it-knows-where-you-are","It knows where you are",[11,609,610,611,614,615,618],{},"Connekz is ",[15,612,613],{},"page-aware."," Open a client and ask ",[146,616,617],{},"\"what's new here?\""," — it knows which client you mean, so you never re-type context. During a customer call, that means you never touch your mouse.",[26,620,622],{"id":621},"scoped-to-your-role","Scoped to your role",[11,624,625,626,629],{},"The important part: Connekz only ever does what ",[15,627,628],{},"your"," role allows. If your login can't delete a project, neither can Connekz when you ask. Same permissions as a human teammate, enforced every time.",[26,631,77],{"id":76},[11,633,634],{},"Voice + chat are included on every plan. Open the floating sphere, and start talking.",[86,636,638],{"href":198,"title":637},"Talk to your portal",[11,639,640],{},"See the voice interface in action — read your pipeline, create tasks, move work, all hands-free.",{"title":94,"searchDepth":95,"depth":95,"links":642},[643,644,645,646],{"id":586,"depth":95,"text":587},{"id":606,"depth":95,"text":607},{"id":621,"depth":95,"text":622},{"id":76,"depth":95,"text":77},"\u002Fimages\u002Fnews\u002Fog-voice-driven.png","2026-05-02","Stop clicking through your portal — talk to it. Connekz now reads and runs your CRM, projects and tasks by voice or chat, knows the page you're on, and only does what your role allows.","voice-driven",{},"\u002Fnews\u002Foperate-your-portal-by-voice",{"title":570,"description":649},"news\u002Foperate-your-portal-by-voice",[113,115,157],"me8TQJEtWE9MBpC7pf2Q6ToHBo25yjdwYU9tzMCWQ0U",{"id":658,"title":659,"author":6,"body":660,"category":360,"cover":793,"date":794,"description":795,"draft":104,"extension":105,"featured":104,"hero":796,"meta":797,"navigation":108,"path":798,"seo":799,"stem":800,"tags":801,"updated":116,"__hash__":804},"blog\u002Fnews\u002Fcost-of-seven-disconnected-tools.md","The real cost of running your shop on seven disconnected tools",{"type":8,"value":661,"toc":787},[662,665,668,672,675,689,706,710,713,733,736,739,743,750,757,763],[11,663,664],{},"It never starts as seven tools. It starts as a CRM. Then a project tool, because the CRM's tasks were clunky. Then a chat app, a phone system, a password manager, a shared drive, a form builder. Each one was \"just $12 a seat.\" None of them talk to each other.",[11,666,667],{},"That's the trap: the stack creeps, and the cost hides.",[26,669,671],{"id":670},"the-visible-cost-vs-the-real-one","The visible cost vs the real one",[11,673,674],{},"The invoices are the part you can see — and they're the cheap part. The real bill is paid in time:",[53,676,677,680,686],{},[56,678,679],{},"A contact re-typed from the inbox into the CRM.",[56,681,682,685],{},[146,683,684],{},"\"Did anyone reply to Acme?\""," asked in three different apps.",[56,687,688],{},"A follow-up that lived only in someone's head because no tool owned it.",[11,690,691,692,695,705],{},"People switch between apps over a thousand times a day, and context-switching can eat ",[15,693,694],{},"up to 40% of productive time.",[696,697,698],"sup",{},[191,699,704],{"href":700,"ariaDescribedBy":701,"dataFootnoteRef":94,"id":703},"#user-content-fn-1",[702],"footnote-label","user-content-fnref-1","1"," On a billable team, that's not a productivity stat — it's margin walking out the door.",[26,707,709],{"id":708},"a-60-second-tally","A 60-second tally",[11,711,712],{},"Want your real number? Don't count dollars — count seams. Multiply it out:",[53,714,715,721,727],{},[56,716,717,720],{},[15,718,719],{},"Tools × seats."," Six tools across eight people is 48 separate logins to provision, bill and offboard.",[56,722,723,726],{},[15,724,725],{},"Switches × minutes."," Every hand-off between two tools is a place work slips and time leaks.",[56,728,729,732],{},[15,730,731],{},"Re-typed records."," Every field entered twice is a field that can disagree with itself.",[11,734,735],{},"If the total makes you wince, that's the integration tax — and it grows every time you hire.",[34,737],{"caption":738,"shot":137},"One place: the client, the calls, the email and the tasks — entered once, visible to everyone.",[26,740,742],{"id":741},"one-platform-instead-of-seven","One platform instead of seven",[11,744,745,746,749],{},"The fix isn't another tool — it's ",[146,747,748],{},"fewer"," of them. When your CRM, projects, calls and inbox live in one system, the re-typing disappears and the seams close, because there's nothing to bridge.",[11,751,752,753],{},"We built a quick calculator so you can put a number on what your current stack costs versus one platform. ",[191,754,756],{"href":755},"\u002Fcompare\u002Fstack","Count what your stack is costing you →",[86,758,760],{"href":755,"title":759},"See what your stack really costs",[11,761,762],{},"Two sliders, your team size and your tool count — and an honest estimate of the time you're leaking.",[764,765,768,773],"section",{"className":766,"dataFootnotes":94},[767],"footnotes",[26,769,772],{"className":770,"id":702},[771],"sr-only","Footnotes",[774,775,776],"ol",{},[56,777,779,780],{"id":778},"user-content-fn-1","Sourced from published context-switching research; figures are indicative, not a measured CNEX-Flow benchmark. ",[191,781,786],{"href":782,"ariaLabel":783,"className":784,"dataFootnoteBackref":94},"#user-content-fnref-1","Back to reference 1",[785],"data-footnote-backref","↩",{"title":94,"searchDepth":95,"depth":95,"links":788},[789,790,791,792],{"id":670,"depth":95,"text":671},{"id":708,"depth":95,"text":709},{"id":741,"depth":95,"text":742},{"id":702,"depth":95,"text":772},"\u002Fimages\u002Fnews\u002Fog-cost-stack.png","2026-04-28","Your subscriptions are the cheap part. The real bill for a stack of disconnected tools is the time your team loses jumping between them — here's how to count it.","cost-stack",{},"\u002Fnews\u002Fcost-of-seven-disconnected-tools",{"title":659,"description":795},"news\u002Fcost-of-seven-disconnected-tools",[802,370,803],"tool-sprawl","it-agency","KehEINiOUUz7gFlhFZLMrkHB4gsyS4-LW-I2uojxKa4",{"id":806,"title":807,"author":6,"body":808,"category":210,"cover":900,"date":901,"description":902,"draft":104,"extension":105,"featured":104,"hero":903,"meta":904,"navigation":108,"path":905,"seo":906,"stem":907,"tags":908,"updated":116,"__hash__":910},"blog\u002Fnews\u002Fquality-checked-before-it-lands.md","“Quality-checked before it lands” — what that actually means",{"type":8,"value":809,"toc":893},[810,816,823,827,838,841,845,851,855,858,862,869,873,880,887],[11,811,812,813,815],{},"If you've tried an AI coding tool lately, you've probably felt the specific frustration of code that's ",[146,814,382],{}," right — close enough to look done, wrong enough to waste your afternoon. Most developers don't trust AI output anymore, and honestly, that scepticism is healthy.",[11,817,818,819,822],{},"So when we say Connekz's work is ",[15,820,821],{},"\"quality-checked before it lands,\""," we owe you specifics. Here's what that phrase actually means.",[26,824,826],{"id":825},"it-writes-the-tests-first","It writes the tests first",[11,828,829,830,833,834,837],{},"Before a line of implementation, Connekz pins the behaviour with tests written against your acceptance criteria. \"Done\" stops meaning ",[146,831,832],{},"\"it looks right\""," and starts meaning ",[146,835,836],{},"\"it's proven against what you asked for.\""," That single ordering change kills most of the \"almost right.\"",[34,839],{"caption":840,"shot":37},"Tests first, the suite runs green, then a PR — not the other way round.",[26,842,844],{"id":843},"its-checked-before-it-reaches-you","It's checked before it reaches you",[11,846,847,848,850],{},"Tests run green and the obvious mistakes get caught ",[146,849,399],{}," it ever lands in your pull-request queue. You're not the first line of defence against rough edges — you're the last word on a change that's already been put through its paces. What reaches you is worth your time.",[26,852,854],{"id":853},"it-pauses-and-asks-instead-of-guessing","It pauses and asks instead of guessing",[11,856,857],{},"When a task is ambiguous or something's missing, Connekz comments on the card and waits. It doesn't barrel ahead and hope. A paused task you can answer beats a confident wrong answer every time.",[26,859,861],{"id":860},"you-merge","You merge",[11,863,864,865,868],{},"And the gate that never moves: Connekz opens a pull request. ",[15,866,867],{},"A human reviews and merges."," Nothing reaches main on the AI's say-so.",[26,870,872],{"id":871},"what-this-is-not","What this is not",[11,874,875,876],{},"It's not \"fully autonomous,\" and we'd never claim it is. You're in the loop on every change — by design, not as a limitation. We keep an honest, public list of where Connekz still needs you. ",[191,877,879],{"href":878},"\u002Flimits","See what Connekz can't do →",[11,881,882,883,886],{},"That's the whole trade: not blind trust in AI, but AI whose output has ",[146,884,885],{},"earned"," a review.",[86,888,890],{"href":88,"title":889},"See it ship, then judge for yourself",[11,891,892],{},"Assign a real task, watch the tests and the PR, and merge only when you're happy.",{"title":94,"searchDepth":95,"depth":95,"links":894},[895,896,897,898,899],{"id":825,"depth":95,"text":826},{"id":843,"depth":95,"text":844},{"id":853,"depth":95,"text":854},{"id":860,"depth":95,"text":861},{"id":871,"depth":95,"text":872},"\u002Fimages\u002Fnews\u002Fog-review-gate.png","2026-04-24","In 2026, most developers don't trust AI output — and they're right to be wary. Here's exactly what we mean when we say Connekz's work is quality-checked before it reaches your PR queue.","review-gate",{},"\u002Fnews\u002Fquality-checked-before-it-lands",{"title":807,"description":902},"news\u002Fquality-checked-before-it-lands",[114,909,115],"quality","27tJ0yKVhT1OkVuoZXuXW2fkY0OO9BOrdixgFFEZ3ss",{"id":4,"title":5,"author":6,"body":912,"category":100,"cover":101,"date":102,"description":103,"draft":104,"extension":105,"featured":104,"hero":106,"meta":965,"navigation":108,"path":109,"seo":966,"stem":111,"tags":967,"updated":116,"__hash__":117},{"type":8,"value":913,"toc":960},[914,918,922,924,926,928,932,934,936,950,952,956],[11,915,13,916,18],{},[15,917,17],{},[11,919,21,920],{},[15,921,24],{},[26,923,29],{"id":28},[11,925,32],{},[34,927],{"caption":36,"shot":37},[11,929,40,930,44],{},[15,931,43],{},[26,933,48],{"id":47},[11,935,51],{},[53,937,938,942,946],{},[56,939,940,61],{},[15,941,60],{},[56,943,944,67],{},[15,945,66],{},[56,947,948,73],{},[15,949,72],{},[26,951,77],{"id":76},[11,953,80,954,84],{},[15,955,83],{},[86,957,958],{"href":88,"title":89},[11,959,92],{},{"title":94,"searchDepth":95,"depth":95,"links":961},[962,963,964],{"id":28,"depth":95,"text":29},{"id":47,"depth":95,"text":48},{"id":76,"depth":95,"text":77},{},{"title":5,"description":103},[113,114,115],{"id":969,"title":970,"author":6,"body":971,"category":210,"cover":1200,"date":1201,"description":1202,"draft":104,"extension":105,"featured":104,"hero":1203,"meta":1204,"navigation":108,"path":1205,"seo":1206,"stem":1207,"tags":1208,"updated":116,"__hash__":1209},"blog\u002Fnews\u002Fbuilt-in-3-months-with-an-ai-engineer.md","How we built CNEX-Flow in three months with an AI engineer",{"type":8,"value":972,"toc":1193},[973,979,982,986,989,1015,1018,1022,1029,1032,1035,1110,1114,1117,1136,1142,1146,1149,1169,1174,1178,1181,1189],[11,974,975,976,978],{},"People ask how a team this small shipped a platform this big this fast. The honest answer: we built ",[15,977,278],{}," — our AI engineering teammate — first, then used it to build the rest of CNEX-Flow, with a human reviewing every pull request.",[11,980,981],{},"It's not magic, and it isn't \"fire your engineers.\" It's a working pattern you could run tomorrow. Here it is, warts and all.",[26,983,985],{"id":984},"the-working-pattern","The working pattern",[11,987,988],{},"It's the same loop you'd run with any developer — just faster on the predictable parts:",[774,990,991,997,1003,1009],{},[56,992,993,996],{},[15,994,995],{},"Plan."," A human writes a task with clear acceptance criteria.",[56,998,999,1002],{},[15,1000,1001],{},"Execute."," Connekz reads the criteria and the codebase, writes the tests, then the implementation.",[56,1004,1005,1008],{},[15,1006,1007],{},"Review."," It runs the suite and opens a PR. A human reviews and merges.",[56,1010,1011,1014],{},[15,1012,1013],{},"Repeat."," It remembers what went wrong last time and doesn't repeat it.",[11,1016,1017],{},"The whole thing hinges on step 3. Connekz opens a pull request — you review it and merge. You're the project manager; it's the developer.",[26,1019,1021],{"id":1020},"a-real-task-start-to-finish","A real task, start to finish",[11,1023,1024,1025,1028],{},"Take a routine one: ",[146,1026,1027],{},"\"Build a CSV contact-import page with column mapping and validation.\""," Clear, well-specified, the kind of work that quietly eats a senior's afternoon.",[34,1030],{"caption":1031,"shot":37},"Acceptance criteria in, tests-first, suite green, PR opened — you review and merge.",[11,1033,1034],{},"Connekz pinned the behaviour with tests, wrote the implementation, ran lint + types + the full suite, and opened a PR with the diff. We reviewed it like any other. That's most of CNEX-Flow: the CRM, the boards, the unified call threads, the post-call summaries — shipped this way, reviewed by a human.",[1036,1037,1041],"pre",{"className":1038,"code":1039,"language":1040,"meta":94,"style":94},"language-ts shiki shiki-themes github-light github-dark","\u002F\u002F The task, the way Connekz reads it: acceptance criteria first.\nexport interface Task {\n  title: string\n  acceptanceCriteria: string[]\n  \u002F\u002F Tests are written against these BEFORE the implementation.\n}\n","ts",[1042,1043,1044,1053,1070,1084,1098,1104],"code",{"__ignoreMap":94},[1045,1046,1049],"span",{"class":1047,"line":1048},"line",1,[1045,1050,1052],{"class":1051},"sJ8bj","\u002F\u002F The task, the way Connekz reads it: acceptance criteria first.\n",[1045,1054,1055,1059,1062,1066],{"class":1047,"line":95},[1045,1056,1058],{"class":1057},"szBVR","export",[1045,1060,1061],{"class":1057}," interface",[1045,1063,1065],{"class":1064},"sScJk"," Task",[1045,1067,1069],{"class":1068},"sVt8B"," {\n",[1045,1071,1073,1077,1080],{"class":1047,"line":1072},3,[1045,1074,1076],{"class":1075},"s4XuR","  title",[1045,1078,1079],{"class":1057},":",[1045,1081,1083],{"class":1082},"sj4cs"," string\n",[1045,1085,1087,1090,1092,1095],{"class":1047,"line":1086},4,[1045,1088,1089],{"class":1075},"  acceptanceCriteria",[1045,1091,1079],{"class":1057},[1045,1093,1094],{"class":1082}," string",[1045,1096,1097],{"class":1068},"[]\n",[1045,1099,1101],{"class":1047,"line":1100},5,[1045,1102,1103],{"class":1051},"  \u002F\u002F Tests are written against these BEFORE the implementation.\n",[1045,1105,1107],{"class":1047,"line":1106},6,[1045,1108,1109],{"class":1068},"}\n",[26,1111,1113],{"id":1112},"the-non-negotiable-you-review-every-pr","The non-negotiable: you review every PR",[11,1115,1116],{},"Speed without review is just faster mistakes. So the rules never bend:",[53,1118,1119,1125,1131],{},[56,1120,1121,1124],{},[15,1122,1123],{},"Tests first."," \"Done\" means proven, not hopeful.",[56,1126,1127,1130],{},[15,1128,1129],{},"Quality-checked before it lands."," Work passes a multi-stage review before it reaches your queue.",[56,1132,1133,1135],{},[15,1134,72],{}," Nothing reaches main without a human saying yes.",[11,1137,1138,1139],{},"That's why the output is worth reviewing instead of being a pile of \"almost right.\" ",[191,1140,1141],{"href":88},"See how the AI engineer works →",[26,1143,1145],{"id":1144},"what-it-doesnt-do","What it doesn't do",[11,1147,1148],{},"We're upfront about the edges — it's the honest part, and the useful one:",[53,1150,1151,1157,1163],{},[56,1152,1153,1156],{},[15,1154,1155],{},"Vague tasks get vague results."," It pauses and asks rather than guessing, but garbage in still slows things down.",[56,1158,1159,1162],{},[15,1160,1161],{},"It won't make product calls."," Architecture and trade-offs are human work.",[56,1164,1165,1168],{},[15,1166,1167],{},"Net-new, fuzzy R&D"," is where your seniors shine. Hand Connekz the well-defined work so they can stay on the hard problems.",[11,1170,1171,1172],{},"We keep a running, public list of the limits. ",[191,1173,879],{"href":878},[26,1175,1177],{"id":1176},"why-this-matters-for-your-shop","Why this matters for your shop",[11,1179,1180],{},"You don't need to build a platform to use this. The same loop — write a clear ticket, let Connekz ship the predictable work, review the PR — gives a 5-person shop the throughput of a much larger one, without the hiring. That's the whole pitch, and we're the proof: we run our own company on it.",[86,1182,1183],{"href":88,"title":89},[11,1184,1185,1186,195],{},"Assign a card, get a tested PR, and review every change before it lands — or read the longer ",[191,1187,1188],{"href":193},"build story",[1190,1191,1192],"style",{},"html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":94,"searchDepth":95,"depth":95,"links":1194},[1195,1196,1197,1198,1199],{"id":984,"depth":95,"text":985},{"id":1020,"depth":95,"text":1021},{"id":1112,"depth":95,"text":1113},{"id":1144,"depth":95,"text":1145},{"id":1176,"depth":95,"text":1177},"\u002Fimages\u002Fnews\u002Fog-constellation.png","2026-04-18","CNEX-Flow was built by Connekz — our AI engineering teammate — with one human reviewing the PRs. Here's the exact working pattern, honestly, including what it doesn't do.","constellation",{},"\u002Fnews\u002Fbuilt-in-3-months-with-an-ai-engineer",{"title":970,"description":1202},"news\u002Fbuilt-in-3-months-with-an-ai-engineer",[114,220,115],"Ns8nvW_T7iWY9iUy2PSZxYbWAjoBHbG53Z9ZNyFxBdE",{"id":1211,"title":1212,"author":6,"body":1213,"category":360,"cover":1447,"date":1448,"description":1449,"draft":104,"extension":105,"featured":104,"hero":1450,"meta":1451,"navigation":108,"path":1452,"seo":1453,"stem":1454,"tags":1455,"updated":116,"__hash__":1457},"blog\u002Fnews\u002Fcracks-in-a-growing-it-shop.md","Why work slips through the cracks in a growing IT shop",{"type":8,"value":1214,"toc":1439},[1215,1226,1229,1233,1236,1273,1280,1284,1300,1318,1322,1325,1372,1378,1382,1389,1392,1396,1402,1406,1420,1426],[11,1216,1217,1218,1221,1222,1225],{},"Every IT shop owner knows the feeling: a client emails ",[146,1219,1220],{},"\"any update?\""," and your stomach drops, because you genuinely don't know. The task didn't get dropped because someone was careless. It got dropped because it fell into the gap ",[15,1223,1224],{},"between"," two tools.",[11,1227,1228],{},"The good news: dropped balls are a predictable, fixable problem — not a \"we need to try harder\" problem. Here's where they happen, a quick way to audit your own shop, and the one change that closes the gaps for good.",[26,1230,1232],{"id":1231},"where-work-actually-disappears","Where work actually disappears",[11,1234,1235],{},"A single client request crosses a lot of boundaries before it's done:",[53,1237,1238,1245,1252,1259,1266],{},[56,1239,1240,1241,1244],{},"It ",[15,1242,1243],{},"arrives"," in an inbox.",[56,1246,1247,1248,1251],{},"It gets ",[15,1249,1250],{},"logged"," (maybe) in a CRM.",[56,1253,1254,1255,1258],{},"It becomes ",[15,1256,1257],{},"work"," on a board.",[56,1260,1261,1262,1265],{},"It generates a ",[15,1263,1264],{},"call"," or two.",[56,1267,1268,1269,1272],{},"It needs a ",[15,1270,1271],{},"follow-up"," nobody clearly owns.",[11,1274,1275,1276,1279],{},"Every arrow between those steps is a ",[146,1277,1278],{},"seam"," — and seams are where things slip. The more you grow, the more seams you have, and the more of your day you spend being the human glue holding them together.",[26,1281,1283],{"id":1282},"the-integration-tax","The integration tax",[11,1285,1286,1287,1290,1291,195,1294,1299],{},"You don't notice the cost because it's paid in small change: a re-typed contact here, a ",[146,1288,1289],{},"\"did anyone reply to Acme?\""," there, a follow-up that lived only in someone's head. But it adds up. People switch between apps over a thousand times a day, and context-switching can quietly eat up to ",[15,1292,1293],{},"40% of productive time",[696,1295,1296],{},[191,1297,704],{"href":700,"ariaDescribedBy":1298,"dataFootnoteRef":94,"id":703},[702]," For a billable team, that's not a productivity stat — it's margin.",[1301,1302,1303],"callout",{},[11,1304,1305,1306,1309,1310,1313,1314,1317],{},"The fix isn't ",[146,1307,1308],{},"more"," discipline or ",[146,1311,1312],{},"another"," tool. It's ",[15,1315,1316],{},"fewer seams"," — putting the inbox, the CRM, the board and the calls in one place that shares context automatically.",[26,1319,1321],{"id":1320},"a-2-minute-audit-the-5-seams","A 2-minute audit: the 5 seams",[11,1323,1324],{},"Want to find your own leaks? Walk one real client request through your shop and ask the smell-test at each seam. If the honest answer is \"it depends who's around,\" that seam is leaking.",[774,1326,1327,1336,1345,1354,1363],{},[56,1328,1329,1332,1333],{},[15,1330,1331],{},"Inbox → CRM."," A client emails. ",[146,1334,1335],{},"Does it become a record automatically, or does it depend on someone remembering to log it?",[56,1337,1338,1341,1342],{},[15,1339,1340],{},"CRM → board."," A deal turns into work. ",[146,1343,1344],{},"Does a project actually get created, or is it a mental note until someone chases it?",[56,1346,1347,1350,1351],{},[15,1348,1349],{},"Board → call."," A task needs a conversation. ",[146,1352,1353],{},"Does the call get made and logged against the client — or does it vanish into someone's phone?",[56,1355,1356,1359,1360],{},[15,1357,1358],{},"Call → follow-up."," The call ends with a promise. ",[146,1361,1362],{},"Is the next step written down and owned, or is it \"I'll remember\"?",[56,1364,1365,1368,1369],{},[15,1366,1367],{},"Follow-up → owner."," The follow-up comes due. ",[146,1370,1371],{},"Does someone get nudged automatically, or does it rely on a human noticing?",[11,1373,1374,1375,1377],{},"Most shops leak at seams 1, 4 and 5 — the hand-offs that depend on memory. That's where the ",[146,1376,1220],{}," emails come from.",[26,1379,1381],{"id":1380},"the-one-change-that-closes-the-gaps","The one change that closes the gaps",[11,1383,1384,1385,1388],{},"When the email, the client record, the project and the calls all live in ",[15,1386,1387],{},"one system",", the follow-up can't fall between tools — because there's no \"between.\" The next step is attached to the client, visible to the whole team, and surfaced the moment it's due.",[34,1390],{"caption":1391,"shot":137},"Calls, email, tasks and deals on one client timeline — nothing re-typed between tools.",[26,1393,1395],{"id":1394},"what-it-looks-like-on-a-busy-tuesday","What it looks like on a busy Tuesday",[11,1397,1398,1399,1401],{},"You don't go hunting for the dropped ball. It comes to you — ",[146,1400,399],{}," the client notices.",[34,1403],{"caption":1404,"shot":1405},"The overdue follow-up surfaces itself, with the next action one click away.","followup",[11,1407,1408,1409,1412,1413,1416,1417,195],{},"That's the whole idea behind CNEX-Flow's front office: remove the seams, and the dropped ball has nowhere to fall. If ",[146,1410,1411],{},"\"nothing slips through the cracks\""," is the feeling you're after, ",[191,1414,1415],{"href":546},"see how it works for IT teams"," — or, if it's the sheer number of tools that's the real problem, ",[191,1418,1419],{"href":755},"count what your stack is costing you",[86,1421,1423],{"href":546,"title":1422},"Close the gaps in your shop",[11,1424,1425],{},"See how CNEX-Flow puts your clients, projects and calls on one timeline — so the follow-up can't slip.",[764,1427,1429,1432],{"className":1428,"dataFootnotes":94},[767],[26,1430,772],{"className":1431,"id":702},[771],[774,1433,1434],{},[56,1435,779,1436],{"id":778},[191,1437,786],{"href":782,"ariaLabel":783,"className":1438,"dataFootnoteBackref":94},[785],{"title":94,"searchDepth":95,"depth":95,"links":1440},[1441,1442,1443,1444,1445,1446],{"id":1231,"depth":95,"text":1232},{"id":1282,"depth":95,"text":1283},{"id":1320,"depth":95,"text":1321},{"id":1380,"depth":95,"text":1381},{"id":1394,"depth":95,"text":1395},{"id":702,"depth":95,"text":772},"\u002Fimages\u002Fnews\u002Fog-the-gap.png","2026-04-15","The dropped ball is rarely a people problem — it's a gap-between-tools problem. Here's a 2-minute audit of where work disappears in a growing IT shop, and the one change that closes the gaps.","the-gap",{},"\u002Fnews\u002Fcracks-in-a-growing-it-shop",{"title":1212,"description":1449},"news\u002Fcracks-in-a-growing-it-shop",[803,1456,370],"crm","wwCffPyuwprVDiM_-XAt7Fsg1nzi-jGAnYJnxqJwKTE",{"id":1459,"title":1460,"author":6,"body":1461,"category":100,"cover":1589,"date":1590,"description":1591,"draft":104,"extension":105,"featured":104,"hero":1592,"meta":1593,"navigation":108,"path":1594,"seo":1595,"stem":1596,"tags":1597,"updated":116,"__hash__":1599},"blog\u002Fnews\u002Fintroducing-cnex-flow.md","Introducing CNEX-Flow: run your whole IT shop from one place",{"type":8,"value":1462,"toc":1582},[1463,1469,1476,1480,1483,1503,1506,1510,1513,1516,1521,1525,1531,1534,1540,1543,1550,1553,1559,1563,1570,1576],[11,1464,1465,1466,1468],{},"We were running our own IT shop across seven browser tabs — a CRM here, a project tool there, a chat app, a phone line, a spreadsheet holding it all together with hope. The work didn't fall through the cracks because anyone was careless. It fell through the gaps ",[15,1467,1224],{}," the tools.",[11,1470,1471,1472,1475],{},"So we built the thing we wished existed. Today we're opening it up to the first teams: ",[15,1473,1474],{},"CNEX-Flow"," — one platform to run your whole IT shop.",[26,1477,1479],{"id":1478},"one-platform-three-jobs","One platform, three jobs",[11,1481,1482],{},"CNEX-Flow does three things that usually need three (or seven) separate products:",[53,1484,1485,1491,1497],{},[56,1486,1487,1490],{},[15,1488,1489],{},"Run your client work"," — CRM, projects, calls and email in one place.",[56,1492,1493,1496],{},[15,1494,1495],{},"Ship the work"," — assign tasks to Connekz, your AI engineering teammate.",[56,1498,1499,1502],{},[15,1500,1501],{},"Operate it by voice"," — talk to your portal instead of clicking around it.",[11,1504,1505],{},"Here's what each looks like.",[26,1507,1509],{"id":1508},"run-your-client-work-in-one-place","Run your client work in one place",[11,1511,1512],{},"Clients, deals, follow-ups, the email thread, the call you had on Tuesday — all on one timeline, on the client's record. Nothing gets re-typed between tools, and the follow-up can't slip between apps, because there's no \"between.\"",[34,1514],{"caption":1515,"shot":137},"Every client's history — calls, email, deals — on one timeline.",[11,1517,1518,1519,195],{},"That's the whole idea behind the front office. If \"nothing slips through the cracks\" is the feeling you're after, ",[191,1520,1415],{"href":546},[26,1522,1524],{"id":1523},"ship-the-work-with-an-ai-engineer","Ship the work with an AI engineer",[11,1526,1527,1528,1530],{},"This is the part people don't expect. ",[15,1529,278],{}," is a teammate on your sprint board — with an avatar and an hourly rate. You drag a task to it the way you would to a person. It reads the acceptance criteria, writes the tests, runs the suite, and opens a pull request — quality-checked before it lands. You review. You merge.",[34,1532],{"caption":1533,"shot":37},"Assign a card. Connekz writes the tests, opens a PR — you review and merge.",[11,1535,1536,1537],{},"It won't make your product calls or merge for you, and it pauses to ask when a task is ambiguous. But for the predictable work that eats a senior's afternoon, it's genuinely fast. ",[191,1538,1539],{"href":88},"Meet the AI engineer →",[26,1541,1501],{"id":1542},"operate-it-by-voice",[11,1544,1545,1546,1549],{},"You don't have to click through any of this. Talk to Connekz. ",[146,1547,1548],{},"\"What's the deal status with Acme? Create a follow-up for Friday. Move this to ongoing.\""," It knows the page you're on, and it only ever does what your role allows.",[34,1551],{"caption":1552,"shot":157},"Connekz knows the company you're looking at — no re-typing context.",[11,1554,1555,1556],{},"No mouse, mid-call. ",[191,1557,1558],{"href":198},"See Connekz →",[26,1560,1562],{"id":1561},"built-in-aotearoa-in-the-open","Built in Aotearoa, in the open",[11,1564,1565,1566,1569],{},"Here's the honest part: a small team at cnex.co.nz built CNEX-Flow in about three months — and we built most of it ",[15,1567,1568],{},"with Connekz",", one human reviewing the pull requests. We run our own shop on it every day. It's the receipt for everything above.",[11,1571,1572,1573],{},"We're letting the first teams in now and shipping improvements every week. If you run a 5–30 person IT or software shop, we'd love your eyes on it. ",[191,1574,1575],{"href":193},"Read the build story →",[86,1577,1579],{"href":353,"title":1578},"Run your shop from one place",[11,1580,1581],{},"Start a free month — cancel anytime — or see what each plan includes.",{"title":94,"searchDepth":95,"depth":95,"links":1583},[1584,1585,1586,1587,1588],{"id":1478,"depth":95,"text":1479},{"id":1508,"depth":95,"text":1509},{"id":1523,"depth":95,"text":1524},{"id":1542,"depth":95,"text":1501},{"id":1561,"depth":95,"text":1562},"\u002Fimages\u002Fnews\u002Fog-clients-shell.png","2026-04-10","Why we built CNEX-Flow — one platform to run your client work, ship the code with Connekz, and operate it all by voice. Built in Aotearoa, in the open.","clients-shell",{},"\u002Fnews\u002Fintroducing-cnex-flow",{"title":1460,"description":1591},"news\u002Fintroducing-cnex-flow",[1598,294,115],"announcement","jFZ2MBufxJbx9tWpV0XMStE3p_FyImMSyeL1pC2tBYY",1779844570877]