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