Over deze case: Op verzoek van de klant zijn bedrijfsnaam en persoonlijke details geanonimiseerd. De klant opereert in een competitieve markt en wil zijn technologische voorsprong beschermen.
”Het werkt op mijn laptop, maar…”
De founder runt een administratiekantoor. Geen developer, wel nieuwsgierig naar technologie. Toen Cursor uitkwam, begon hij te experimenteren. “Ik had altijd gefrustreerd naar planning-tools gekeken die niet deden wat ik wilde. Met Cursor dacht ik: dan bouw ik het zelf.”
En dat deed hij. Avonden en weekenden lang prompten, itereren, en debuggen met ChatGPT. Na drie maanden had hij een werkende app: een planning-tool specifiek voor administratiekantoren, met slimme deadline-herinneringen en een AI-assistent die belastingperiodes automatisch inplande.
“Het werkte echt. Mijn team gebruikte het dagelijks. Collega-kantoren zagen het en wilden het ook.”
Maar daar begon het probleem.
De kloof tussen prototype en product
Zodra hij zijn app wilde delen met andere kantoren, liep hij vast op vragen waar Cursor en ChatGPT geen antwoord op hadden:
- Hoe zorg ik dat kantoor A niet de data van kantoor B kan zien?
- Hoe koppel ik betalingen zonder dat ik zelf creditcards moet opslaan?
- Waarom crashed de app als er meer dan 10 gebruikers tegelijk inloggen?
“Ik had een werkend prototype, maar geen idee hoe ik het naar een echt product moest brengen. Elke YouTube-tutorial ging over het bouwen van een todo-app, niet over multi-tenancy of GDPR-compliance.”
Hij probeerde het zelf, maar elke fix creëerde nieuwe bugs. “Ik was meer tijd kwijt aan brandjes blussen dan aan mijn eigen kantoor runnen.”
“Ik had iets gebouwd dat 80% af was. Maar die laatste 20% bleek 80% van het werk.”
Niet weggooien, maar doorontwikkelen
Toen hij bij ons kwam, verwachtte hij dat we alles zouden weggooien en opnieuw zouden beginnen. “Andere developers keken naar mijn code en zeiden: dit moet helemaal opnieuw. Maar jullie zeiden iets anders.”
We zagen namelijk waarde in wat hij had gebouwd. Niet in de architectuur—die was inderdaad niet productie-klaar—maar in de validatie. Hij had drie maanden lang feedback verzameld van echte gebruikers. Hij wist precies welke features werkten en welke niet. Dat is goud waard.
Onze aanpak:
- Behoud de UI en UX - Zijn gebruikers waren gewend aan de interface. Die hielden we intact.
- Herbouw de kern - Authenticatie, database-structuur, en API’s werden opnieuw opgezet met schaalbaarheid in gedachten.
- Voeg toe wat ontbreekt - Multi-tenancy, Stripe-integratie, audit logging, en monitoring.
“Het voelde niet als opnieuw beginnen. Het voelde als upgraden. Mijn app, maar dan volwassen.”
6 weken van prototype naar SaaS
We werkten in korte sprints van een week, met aan het eind van elke week een werkende versie die hij kon testen.
Week 1-2: Fundament Nieuwe Next.js-applicatie opgezet met TypeScript, Supabase voor authenticatie en database, en een schone project-structuur. Zijn bestaande UI-componenten gemigreerd.
Week 3: Multi-tenancy Elke organisatie kreeg een eigen workspace. Row-level security in Supabase zodat data geïsoleerd bleef. Admin-dashboard om klanten te beheren.
Week 4: Betalingen Stripe-integratie met subscription management. Automatische facturen, proefperiodes, en upgrade-flows.
Week 5: AI-features hersteld De OpenAI-integratie die hij had gebouwd werkte, maar was kwetsbaar. We voegden rate limiting toe, betere error handling, en fallbacks.
Week 6: Launch prep Monitoring met Vercel Analytics, error tracking, en een onboarding-flow voor nieuwe klanten.
“Na zes weken had ik een product waar ik niet bang voor was. Ik durfde eindelijk andere kantoren uit te nodigen.”
Van bijproject naar business
De app draait nu bij meerdere administratiekantoren. De subscription-inkomsten zijn genoeg om er serieus tijd aan te besteden, naast het runnen van zijn eigen kantoor.
“Het mooiste is: ik kan nog steeds zelf kleine dingen aanpassen in Cursor. Een tekst veranderen, een veld toevoegen. Maar de kern is solide. Ik hoef niet bang te zijn dat ik iets kapot maak.”
We hebben een support-afspraak: hij doet de kleine dingen zelf, en belt ons wanneer er iets aan de infrastructuur moet veranderen. “Het voelt als een partnership, niet als een klant-leverancier relatie.”
Lessons learned
-
AI-gebouwde code is geen wegwerp-code
Het is validatie. Als gebruikers het gebruiken, heb je iets waardevols. De architectuur kan altijd verbeterd worden, maar product-market fit niet. -
De laatste 20% is het moeilijkste
Authenticatie, betalingen, multi-tenancy, monitoring—dit zijn de dingen die een prototype onderscheiden van een product. En dit zijn de dingen waar AI-tools (nog) niet goed in zijn. -
Je hoeft niet alles te begrijpen
De founder begrijpt niet precies hoe row-level security werkt. Dat hoeft ook niet. Hij begrijpt wel wat zijn klanten nodig hebben. Wij vullen de technische kennis aan. -
Klein beginnen loont
Een handvol klanten is geen unicorn-growth. Maar het is wel echte validatie, echte revenue, en een fundament om op door te bouwen.
“Aan iedereen die zegt ‘ik heb een app gebouwd met AI maar ik weet niet hoe verder’: het kan. Je hebt geen CTO nodig. Je hebt iemand nodig die je helpt de laatste 20% te overbruggen.”