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