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