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