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