[{"data":1,"prerenderedAt":468},["ShallowReactive",2],{"footer-vacatures-en":3,"offer-vibe-code-rescue-audit-en":4,"content-by-keys-useCases-en-vibe-coded-app-professionaliseren,ai-agent-niet-betrouwbaar,gegenereerde-code-niet-meer-begrijpelijk,vibe-code-project-vastgelopen":158,"content-by-keys-cases-en-":467},[],{"id":5,"title":6,"body":7,"catalogue":14,"cta":15,"description":11,"extension":20,"fit":21,"hero":29,"key":32,"meta":33,"navigation":34,"next":35,"outcome":49,"path":61,"price":62,"process":65,"proof":80,"relations":94,"scope":110,"seo":143,"stem":146,"summary":147,"summaryPanel":148,"visuals":153,"__hash__":157},"offers_en\u002Foffers\u002Fvibe-code-rescue-audit.md","Vibe Code Rescue Audit",{"type":8,"value":9,"toc":10},"minimark",[],{"title":11,"searchDepth":12,"depth":12,"links":13},"",2,[],null,{"title":16,"body":17,"primaryCta":18,"local":19},"No idea what to fix anymore?","Let us first figure out what you actually have. Then you can make a technical decision without blindly prompting on or throwing everything away.\n","Book a Rescue Audit","Vibe Code Rescue by senior engineers from Delft, for teams in Delft, The Hague, Rotterdam and the surrounding area.\n","md",{"title":22,"intro":23,"useCaseKeys":24},"When is this offer a fit?","When you sense something is technically wrong, but the actual cause or extent isn't clear yet.\n",[25,26,27,28],"vibe-coded-app-professionaliseren","ai-agent-niet-betrouwbaar","gegenereerde-code-niet-meer-begrijpelijk","vibe-code-project-vastgelopen",{"headline":30,"intro":31,"primaryCta":18},"Find out what is really wrong before you rebuild everything.","You already have software, but no longer know which problems are superficial and which are structural. We reconstruct how the system works, separate technical debt from real risks and give you a prioritised route forward.\n","vibe-code-rescue-audit",{},true,{"title":36,"items":37},"What happens next?",[38,42,46],{"title":39,"text":40,"offerKey":41},"A clear rescue goal?","Then we can tackle it in a focused Rescue Sprint.\n","rescue-sprint",{"title":43,"text":44,"offerKey":45},"Turns out to be a bigger build project?","Then we scope Build & Integrate as a fixed engagement.\n","build-integrate",{"title":47,"text":48},"Turns out little is wrong?","Then we'll simply tell you. A follow-up is not required.\n",{"title":50,"items":51},"Afterwards you have...",[52,55,58],{"title":53,"text":54},"Technical grip on what is there","Architecture, key dependencies and critical risks are clear again.\n",{"title":56,"text":57},"A prioritised rescue plan","You know what can stay, what really needs to change and in which order.\n",{"title":59,"text":60},"A decision on the follow-up approach","Fixing, partially rebuilding, developing further at a larger scale or doing nothing becomes a conscious choice.\n","\u002Foffers\u002Fvibe-code-rescue-audit",{"label":63,"type":64},"€2,950 excl. VAT","fixed",{"title":66,"steps":67},"How it works.",[68,71,74,77],{"title":69,"text":70},"Confirm the rescue goal","We determine which questions the Audit needs to answer and where the biggest uncertainty lies.\n",{"title":72,"text":73},"Reconstruct code + system","We read the architecture, code, deployment, data flows and relevant dependencies.\n",{"title":75,"text":76},"Prioritise problems","We distinguish cosmetic debt, development blockers and real production or security risks.\n",{"title":78,"text":79},"Rescue plan + debrief","You get a concrete route with what can stay, what needs to change and what makes sense next.\n",{"title":81,"intro":82,"points":83,"caseKeys":93},"Why should you believe this?","Assessing an existing codebase takes more than an automated quality score. It takes senior engineers who can see which problems actually hurt.\n",[84,87,90],{"title":85,"text":86},"Existing software is where we work","A messy or AI-generated codebase is no reason to automatically start over.\n",{"title":88,"text":89},"Software engineering and AI","We look at both regular production-grade problems and AI-specific failure modes.\n",{"title":91,"text":92},"Follow-up work is not a requirement","If the best conclusion is that your current route is fine, the engagement can end there.\n",[],{"buyerTriggerKeys":95,"useCaseKeys":97,"relatedOfferKeys":108,"caseKeys":109},[96],"vastgelopen-met-ai",[25,98,26,27,99,100,101,102,103,104,105,106,107,28],"ai-prototype-naar-productie","ai-code-breekt-steeds","security-en-privacy-ai-oplossing","ai-oplossing-te-langzaam","ai-oplossing-te-duur","technische-second-opinion-ai","ai-project-overnemen-van-andere-leverancier","ai-experiment-heeft-echte-gebruikers","prototype-naar-onderhoudbaar-softwareproduct","weg-bij-ai-platform-of-leverancier",[41,45],[],{"title":111,"intro":112,"activities":113,"deliverables":125,"exclusions":136},"What is included in this offer?","A technical diagnosis of one existing application or codebase, aimed at decision-making.\n",{"intro":114,"items":115},"We look broadly enough to find structural causes, without turning it into a theoretical code review.\n",[116,117,118,119,120,121,122,123,124],"Examining architecture and code quality","Assessing dependencies and technical debt","Reviewing authentication and authorisation","Examining the data layer and relevant integrations","Assessing deployment and error handling","Reviewing tests, logging and monitoring","Listing security risks at a high level","Examining AI-specific failure modes","Assessing maintainability and lock-in",{"intro":126,"items":127},"You get a technical verdict you can actually base a follow-up on.\n",[128,129,130,131,132,133,134,135],"Architecture overview","Prioritised list of problems and risks","What can stay","What needs to be adjusted","What may need to be redone","Advice: fix \u002F partially rebuild \u002F rebuild","Proposed order and size of the follow-up","Technical debrief with a senior engineer",{"intro":137,"items":138},"The Audit delivers understanding and a plan. Major fixes don't quietly become part of the analysis.\n",[139,140,141,142],"Full repair of the codebase","Complete rewrite","Unbounded pentest or formal security audit","Product development beyond small diagnostic changes",{"title":144,"description":145},"Vibe Code Rescue Audit | Stuck with AI code | 9to5 software","Vibe-coded app (Lovable, Cursor, Bolt, Replit) or AI project stuck? 9to5 examines architecture, code, security, tests and deployment and gives you a rescue plan.\n","offers\u002Fvibe-code-rescue-audit","We examine what you have, what can stay as it is, where the real risks are and how you can move forward responsibly again.\n",{"qualifier":149,"result":150,"duration":151,"nextStep":152},"Fixed price · one existing application or codebase","Technical grip on what exists and a prioritised rescue plan","About two weeks","A Rescue Sprint for the most important problem, or continue yourself",{"hero":154,"proof":155,"process":156},"sq-tangle-knot","sq-orient-options","ls-route-converge","IWSlwlvSU82rOHwWTXtSCvLbfXjNUybu2L5bZ-96IJY",[159,236,315,391],{"id":160,"title":161,"body":162,"description":11,"desiredOutcome":166,"extension":20,"hero":178,"key":25,"meta":180,"navigation":34,"path":181,"problem":182,"proof":194,"recognition":205,"recommendedApproach":220,"relations":222,"seo":227,"stem":230,"summary":231,"visuals":232,"__hash__":235},"useCases_en\u002Fuse-cases\u002Fvibe-coded-app-professionaliseren.md","Our vibe-coded app needs to become professional",{"type":8,"value":163,"toc":164},[],{"title":11,"searchDepth":12,"depth":12,"links":165},[],{"intro":167,"items":168},"You want to keep the speed of AI-assisted development without your product becoming more and more fragile technically.\n",[169,172,175],{"title":170,"text":171},"A reliable technical foundation","Architecture, data, authentication, deployment and error handling are set up sensibly enough for serious use.\n",{"title":173,"text":174},"Able to keep changing safely","New features no longer unexpectedly break existing functionality every time.\n",{"title":176,"text":177},"Able to keep building yourself","You or your team understand the most important technical choices and can then carry on independently with AI tools again.\n",{"intro":179},"With Claude Code, Codex, Cursor, Lovable, Bolt or another AI tool you can get very far very fast. But as soon as real users, sensitive data or paying customers come in, technical choices suddenly matter. We help you determine what is fine, where the risks are and what is needed to move forward professionally.\n",{},"\u002Fuse-cases\u002Fvibe-coded-app-professionaliseren",{"intro":183,"causes":184},"Vibe coding isn't the problem. Treating a prototype as if it will become a production platform by itself usually is.\n",[185,188,191],{"title":186,"text":187},"The software grew faster than the architecture","Local solutions work individually, but together they no longer always form a logical system.\n",{"title":189,"text":190},"Technical guardrails are missing","Tests, clear boundaries, security checks and deployment feedback were often added later, or not at all.\n",{"title":192,"text":193},"The requirements have changed","What was fine for an experiment isn't automatically suitable for real users, sensitive data and continuous development.\n",{"intro":195,"points":196},"A code quality score won't get you far here. You need senior engineers who can understand existing software, prioritise risks and fix the hard part themselves.\n",[197,199,202],{"title":88,"text":198},"Besides the generated code, we look at the complete product around it.\n",{"title":200,"text":201},"We work in what's already there","Existing codebases, integrations and technical debt are no reason for us to start over.\n",{"title":203,"text":204},"Handover is part of the result","The goal is that after the rescue you can carry on independently and responsibly again.\n",{"intro":206,"signals":207},"The tipping point usually comes when an experiment slowly becomes a real software product.\n",[208,211,214,217],{"title":209,"text":210},"New changes feel riskier and riskier","A small feature can suddenly affect authentication, the database, deployment or other parts of the app.\n",{"title":212,"text":213},"The codebase gets harder to understand","There are more and more files, dependencies and solutions and nobody knows exactly why they were built that way.\n",{"title":215,"text":216},"Production is getting nerve-racking","You doubt whether data, permissions, backups, error handling and deployment are reliable enough for real users.\n",{"title":218,"text":219},"You want to move on, but not blindly","Rebuilding everything feels excessive, but carrying on as now no longer feels responsible either.\n",{"intro":221},"We start with a Vibe Code Rescue Audit. We examine what you have, what can stay as it is, where the real risks are and which improvements make the biggest difference. That way you avoid both building on blindly and needlessly redoing everything.\n",{"buyerTriggerKeys":223,"primaryOfferKey":32,"offerKeys":224,"caseKeys":225,"relatedUseCaseKeys":226},[96],[32,41],[],[28,106],{"title":228,"description":229},"Professionalise a vibe-coded app | 9to5 software","Ready to professionalise a vibe-coded app (Lovable, Bolt, Replit, v0)? 9to5 examines architecture, code, security, tests and deployment and turns it into serious software.\n","use-cases\u002Fvibe-coded-app-professionaliseren","You've built a surprising amount with AI tools. Now the app has to become reliable, secure and maintainable enough for serious use.\n",{"hero":154,"problem":233,"proof":234},"sq-foundation-build","ls-rescue-repair","ESp-gjnPt-vPAQ3d4-MEUI8SZI--nHIB2va7yrp8svY",{"id":237,"title":238,"body":239,"description":11,"desiredOutcome":243,"extension":20,"hero":255,"key":26,"meta":257,"navigation":34,"path":258,"problem":259,"proof":271,"recognition":283,"recommendedApproach":298,"relations":300,"seo":306,"stem":309,"summary":310,"visuals":311,"__hash__":314},"useCases_en\u002Fuse-cases\u002Fai-agent-niet-betrouwbaar.md","Our agent is not reliable enough",{"type":8,"value":240,"toc":241},[],{"title":11,"searchDepth":12,"depth":12,"links":242},[],{"intro":244,"items":245},"No agent is perfect all the time. You do need to know where it can fail and how the system deals with that.\n",[246,249,252],{"title":247,"text":248},"More predictable behaviour","The agent more consistently chooses the right steps, tools and information.\n",{"title":250,"text":251},"Errors become visible","You can measure which situations go wrong instead of relying on scattered manual tests.\n",{"title":253,"text":254},"Risks are contained","Validation, guardrails and human oversight prevent a mistake from immediately becoming a big problem.\n",{"intro":256},"An agent that works well eight out of ten times can look fantastic in a demo and be unusable in production. We find out where the unreliability comes from and which technical measures are needed to make the system manageable.\n",{},"\u002Fuse-cases\u002Fai-agent-niet-betrouwbaar",{"intro":260,"causes":261},"The cause rarely sits in the prompt alone. An agent is a complete software system in which model, tools, context, state and error handling work together.\n",[262,265,268],{"title":263,"text":264},"The task is too open","The agent gets more freedom than it needs to carry out the process well.\n",{"title":266,"text":267},"The feedback loop is missing","Without evals and traces it is hard to see which part is actually failing.\n",{"title":269,"text":270},"Errors are not caught","A single wrong model decision can needlessly carry through into every following step.\n",{"intro":272,"points":273},"You don't get a reliable agent by endlessly tweaking a single prompt. You treat it as software, with clear responsibilities, observability and controlled failure paths.\n",[274,277,280],{"title":275,"text":276},"Looking at the whole system","We examine the entire agent flow, not just the instruction text.\n",{"title":278,"text":279},"Measure first, then optimise","Evals and traces show which changes actually help.\n",{"title":281,"text":282},"Autonomy doesn't have to be the goal","We deliberately choose where deterministic software or human oversight is the wiser option.\n",{"intro":284,"signals":285},"At first it often feels like a series of separate incidents.\n",[286,289,292,295],{"title":287,"text":288},"The same input gives different results","What went well yesterday can suddenly take a different route today.\n",{"title":290,"text":291},"The agent sometimes picks the wrong tool","It calls actions that are not needed or uses the wrong data.\n",{"title":293,"text":294},"Prompt changes move the problem around","An improvement for one situation makes another situation worse.\n",{"title":296,"text":297},"Errors mostly show up with real users","The demos are fine, but reality contains far more variation.\n",{"intro":299},"In a Vibe Code Rescue Audit we first make the behaviour understandable and measurable. Then we determine which combination of architecture, evals, validation, guardrails and human-in-the-loop is needed. The concrete fixes can then follow in a Rescue Sprint.\n",{"buyerTriggerKeys":301,"primaryOfferKey":32,"offerKeys":302,"caseKeys":303,"relatedUseCaseKeys":304},[96],[32,41],[],[305,101],"tests-evals-monitoring-voor-ai",{"title":307,"description":308},"AI agent not reliable? | 9to5 software","Does your AI agent sometimes work well and sometimes not? 9to5 examines tools, data flows, evals, guardrails and architecture and makes behaviour more manageable.\n","use-cases\u002Fai-agent-niet-betrouwbaar","The agent can do impressive things, but does not behave predictably enough to trust a serious process or product to it.\n",{"hero":312,"problem":313,"proof":234},"sq-process-steps","sq-guardrails-check","msXea1UQcF1EwGJ9TUI7fGQMHikENHvoI9katWwH8e0",{"id":316,"title":317,"body":318,"description":11,"desiredOutcome":322,"extension":20,"hero":334,"key":27,"meta":336,"navigation":34,"path":337,"problem":338,"proof":350,"recognition":362,"recommendedApproach":377,"relations":379,"seo":384,"stem":387,"summary":388,"visuals":389,"__hash__":390},"useCases_en\u002Fuse-cases\u002Fgegenereerde-code-niet-meer-begrijpelijk.md","Nobody understands the generated code anymore",{"type":8,"value":319,"toc":320},[],{"title":11,"searchDepth":12,"depth":12,"links":321},[],{"intro":323,"items":324},"You don't need to know every file by heart. But an engineer does need to be able to understand where functionality belongs and what a change affects.\n",[325,328,331],{"title":326,"text":327},"An understandable structure","Responsibilities and boundaries in the codebase are recognisable again.\n",{"title":329,"text":330},"Fewer surprises","Engineers can better predict what a change affects elsewhere.\n",{"title":332,"text":333},"AI tools become useful again","Good structure also gives coding agents better context to work with responsibly.\n",{"intro":335},"AI can produce code faster than a team can understand it. That works until every change first requires archaeological research. We help you bring the codebase back to software people can get a grip on again.\n",{},"\u002Fuse-cases\u002Fgegenereerde-code-niet-meer-begrijpelijk",{"intro":339,"causes":340},"Code that compiles is not automatically a coherent software system.\n",[341,344,347],{"title":342,"text":343},"Every task was solved locally","Today's solution doesn't always fit last month's choices.\n",{"title":345,"text":346},"Architecture stayed implicit","Technical boundaries only exist in developers' heads, or not at all.\n",{"title":348,"text":349},"Cleaning up kept being postponed","AI makes adding cheap, so removing and consolidating get relatively little attention.\n",{"intro":351,"points":352},"With a messy codebase, the main job is judging what is essential, which debt really hurts, and how to stop the clean-up from becoming the new problem.\n",[353,356,359],{"title":354,"text":355},"Understand first","We don't blindly change code before it's clear what role that code plays.\n",{"title":357,"text":358},"Risk over beauty","Not every ugly construction needs to be rewritten right away.\n",{"title":360,"text":361},"Document what matters","Important architecture choices are made explicit so knowledge doesn't disappear again.\n",{"intro":363,"signals":364},"The code is usually readable enough. It's just that nobody understands how the whole fits together anymore.\n",[365,368,371,374],{"title":366,"text":367},"There are several solutions to the same problem","Old and new implementations live side by side and nobody knows which one leads.\n",{"title":369,"text":370},"Files and components keep growing","More and more responsibilities end up in the same places.\n",{"title":372,"text":373},"Deleting feels dangerous","Nobody knows for sure whether seemingly unused code is needed somewhere after all.\n",{"title":375,"text":376},"Every prompt needs enormous context","You have to explain to the AI over and over how large parts of the project work.\n",{"intro":378},"A Vibe Code Rescue Audit first maps the actual structure, duplication and technical risks. Then we only tackle the parts that actually block development. We don't refactor for the sake of it.\n",{"buyerTriggerKeys":380,"primaryOfferKey":32,"offerKeys":381,"caseKeys":382,"relatedUseCaseKeys":383},[96],[32,41],[],[99,28],{"title":385,"description":386},"Generated code no longer understandable? | 9to5 software","AI-generated code that nobody understands any more? 9to5 maps the architecture and technical debt and makes the codebase manageable again.\n","use-cases\u002Fgegenereerde-code-niet-meer-begrijpelijk","The software grows fast, but its structure and technical choices have become so opaque that changes are getting riskier and riskier.\n",{"hero":154,"problem":233,"proof":234},"Xz-f4kDEFuXwEdtsDZ6LRB0w0C3Rm0d5OcJI8Pk0jts",{"id":392,"title":393,"body":394,"description":11,"desiredOutcome":398,"extension":20,"hero":410,"key":28,"meta":412,"navigation":34,"path":413,"problem":414,"proof":426,"recognition":438,"recommendedApproach":453,"relations":455,"seo":460,"stem":463,"summary":464,"visuals":465,"__hash__":466},"useCases_en\u002Fuse-cases\u002Fvibe-code-project-vastgelopen.md","We've vibe-coded ourselves into a corner",{"type":8,"value":395,"toc":396},[],{"title":11,"searchDepth":12,"depth":12,"links":397},[],{"intro":399,"items":400},"You don't want to stop AI-assisted development. You want to be able to build again without every change introducing a new technical risk.\n",[401,404,407],{"title":402,"text":403},"Grip on the codebase again","You understand how the most important parts fit together and where you can safely make changes.\n",{"title":405,"text":406},"Changing without roulette","New features no longer unexpectedly break other parts of the application.\n",{"title":408,"text":409},"Able to carry on yourself","The technical foundation and way of working are clear enough to build on independently with AI tools again.\n",{"intro":411},"At first it felt like you had superpowers, with a new feature every evening. Then came the point where the AI mainly found new ways to move old problems around. Often you don't have to redo everything.\n",{},"\u002Fuse-cases\u002Fvibe-code-project-vastgelopen",{"intro":415,"causes":416},"AI coding tools are very good at momentum. But without clear architecture, tests and technical boundaries, that momentum can eventually work against you.\n",[417,420,423],{"title":418,"text":419},"Local solutions pile up","Every prompt solves the problem of that moment, but doesn't automatically take the architecture of the whole into account.\n",{"title":421,"text":422},"Technical feedback is missing","Without good tests, types, conventions and deployment checks, the AI only notices late that a change causes damage somewhere else.\n",{"title":424,"text":425},"The codebase itself becomes the bottleneck","More and more context is needed to make a change properly. So fast building slowly becomes slow and unpredictable again.\n",{"intro":427,"points":428},"This is where senior software engineering makes the difference: understanding an existing codebase, reducing technical risks and making sure your own team can continue independently afterwards.\n",[429,432,435],{"title":430,"text":431},"We're not against vibe coding","Building yourself with AI can actually be very effective when the technical foundation stays good enough.\n",{"title":433,"text":434},"We don't automatically start over","First determine what is usable, only then decide what really has to change.\n",{"title":436,"text":437},"The idea is that you build again","A rescue has succeeded when you don't need 9to5 for every next feature afterwards.\n",{"intro":439,"signals":440},"Vibe coding rarely gets stuck all at once. First small technical problems pile up, until more and more prompts are needed to change anything.\n",[441,444,447,450],{"title":442,"text":443},"One fix breaks something else","A seemingly small change suddenly causes errors in places you didn't touch.\n",{"title":445,"text":446},"The AI keeps suggesting bigger refactors","According to the coding tool, even simple changes seem to need a major rework of the code.\n",{"title":448,"text":449},"Nobody knows what leads anymore","Several implementations, old files and half-replaced solutions exist side by side.\n",{"title":451,"text":452},"You hardly dare touch working code","The project still works, but every change feels like you might knock over something important.\n",{"intro":454},"Don't keep prompting blindly, and don't automatically rebuild everything either. In a Vibe Code Rescue Audit we separate the good parts from temporary solutions and structural risks. You then get a concrete route: what can stay, what needs improving and what really doesn't need redoing.\n",{"buyerTriggerKeys":456,"primaryOfferKey":32,"offerKeys":457,"caseKeys":458,"relatedUseCaseKeys":459},[96],[32,41],[],[25,27],{"title":461,"description":462},"Stuck with vibe coding? | 9to5 software","Vibe-coded yourself into a corner with Lovable, Cursor, Bolt or Replit? 9to5 analyses your codebase, finds the blockers and helps you build on responsibly.\n","use-cases\u002Fvibe-code-project-vastgelopen","With AI coding tools it went incredibly fast at first. Now new changes mainly make the project more complicated and you no longer know how to get out.\n",{"hero":154,"problem":313,"proof":234},"ao7p7vb_k93FD1bj9inbhcKsmZaEIvN9j4_hOr_0TkA",[],1792049910720]