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