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