Counselor: Stabilizing a Vibe-Coded MVP for Real-World Use

Location

USA

Industry

EdTech

Duration

1 month

Team

1 Full Stack Developer, PM, QA

Type of service

Stabilizing AI-Built MVPs

Key technology

AI, React, Python

About Client

Our client is Counselor, a US-based EdTech startup aiming to simplify the college decision process for teenagers. In the USA, it’s common for high school students to work with college consultants — professionals who help them choose the right college based on test scores, soft and hard skills, preferences, and long-term goals. Counselor aimed to turn this human-guided process into a digital experience powered by AI.

The app uses a detailed questionnaire and AI logic to generate personalized recommendations — a shortlist of three colleges that best match each student’s profile.

When the client contacted us, they already had an early version of the vibe-coded product. The founder had built the frontend prototype using AI-assisted development tools, connected to an AI-based decision engine. The backend, however, was still in its early stages and prone to inconsistencies. The product showed real promise — but it wasn’t ready for real users or investor scrutiny. Our job was to stabilize the vibe-coded MVP and bring the engineering discipline needed to take it to the next stage.

Stabilizing a Vibe-Coded MVP for Real-World Use

The Challenge

Stabilizing the Counselor MVP was a challenging task. The client came in with an AI-built product that worked in demos but fell apart under real usage conditions. Here is what we found:

  • Unpredictable AI responses. The vibe-coded AI layer often returned inconsistent outputs, regardless of correct user input. Students would loop through questions, receive irrelevant college suggestions, or hit dead ends — never reaching the final recommendation screen. The issue wasn’t the AI model itself, but the lack of structured prompt management around it.
  • Monolithic frontend architecture. The entire frontend was built as a single block of AI-generated code. Any small change — adjusting a question, updating a step in the flow, fixing a UI element — meant touching everything at once. This made iteration slow, risky, and expensive.
  • No clear user funnel. The vibe-coded product had no defined conversation structure. Users would answer questions, get stuck, loop back, and rarely complete the flow. There was no reliable path from intake to recommendation to action.

We applied our engineering expertise to bring clarity, structure, and stability to the AI-built prototype — without rebuilding it from scratch.

Goals

Stabilize the AI-Generated Logic

Restructure prompt management on the backend to eliminate unpredictable outputs and ensure the AI consistently guides users forward — not in circles.

Restructure the Vibe-Coded Frontend

Break up the monolithic AI-generated frontend into independent, maintainable components so the team can update any part of the product without risking the rest.

Build a Clear Conversion Funnel

Redesign the user journey around a structured four-stage flow — questionnaire, clarification, recommendations, application link — so every user reaches the end goal reliably.

Development Process

Restructuring Prompt Management on the Backend

The root cause of the unpredictable AI behavior wasn’t the model — it was the absence of proper prompt management. In the original vibe-coded version, prompts were scattered and unstructured, leading to inconsistent outputs depending on how users answered questions.

We moved all prompt logic to the backend, introduced structured templates, and added fallback handling to ensure the AI always returned a usable, relevant response. This alone eliminated the majority of the looping and dead-end behavior users were experiencing.


Breaking Up the Monolithic Vibe-Coded Frontend

The client came to us with a half-working vibe-coded frontend — visually acceptable but architecturally fragile. Everything was interconnected in a way that made isolated changes nearly impossible. Touching one part of the UI risked breaking something elsewhere.

We separated the frontend into independent components — each step of the questionnaire became its own module. Even though it wasn’t a full rebuild from scratch, the structural upgrade was significant and necessary. The team can now update, adjust, or redesign any single step of the product without touching the rest of the codebase.


Rebuilding the Conversation Flow Around a Real Funnel

The original AI-built product had no clear user journey. We redesigned the entire conversation flow around four defined stages: intake questionnaire → clarification questions → personalized college shortlist → link to application form.

This structure ensured that every user, regardless of their input, moves forward through the product and reaches the final step. We ran extensive tests across different user scenarios to validate the flow and catch edge cases that the vibe-coded version had left unhandled.


Smart Stabilization Over Unnecessary Rebuilding

This case reflects the real-world limits of AI-generated code when it meets real users. Our role was not to throw away what the founder had built — it was to make it work reliably. We optimized, stabilized, and structured the existing product rather than starting over.

This approach allowed the client to move forward quickly, without overspending on a full custom rebuild from day one. The vibe-coded foundation was preserved where it worked; the parts that didn’t were replaced with engineered solutions.

Counselor - chatting
Counselor - topics to discuss
Counselor - start chatting
Counselor - consultation summary

Personalized consultant chat example

Dealing with the same walls? Book a free 30-minute audit call

Outcome

Counselor went from an unstable vibe-coded MVP to a structured, production-ready product that real users can complete end-to-end. The AI now consistently delivers personalized college recommendations — no more loops, no more irrelevant suggestions, no more dead ends.

The restructured frontend means the team can update any step of the conversation flow in minutes, without risking the rest of the product. What previously required touching the entire AI-generated codebase is now a targeted, low-risk change.

With a stable, working product in hand, the founder moved confidently into demo and investor outreach — showing not just a promising idea, but a product with real engineering behind it.

This is what stabilizing a vibe-coded MVP looks like in practice: not a rewrite, not a rebuild from scratch — but a structured intervention that turns an AI-built prototype into something you can actually build a business on.

The recent years have shown us that we shouldn’t start from scratch every time. Sometimes, the right move is to take what AI helped you build — and make it work the way it was meant to.

Got a vibe-coded product that’s hitting its limits?

Your MVP did its job. Now it needs ours. Let’s talk about what’s next →