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