Spots4kids

Spots4Kids helpt ouders bij het vinden van de leukste uitstapjes voor hun kinderen, overal in Europa. Het platform was oorspronkelijk door de oprichter ontwikkeld met behulp van AI-programmeertools. Wij hebben de structuur, de testprocedures en de implementatieprocessen verzorgd die nodig waren om het van een werkende demo om te zetten in een stabiel product waarop echte gezinnen elk weekend kunnen vertrouwen.

Image

Over Spots4Kids

Spots4Kids helpt ouders bij het vinden van leuke plekjes — plekken die de rit op zaterdagochtend zeker waard zijn. Speeltuinen, bospaden, waterspeelplaatsen, gezellige binnenplekjes voor regenachtige dagen: allemaal in kaart gebracht, beoordeeld en gewaardeerd door ouders die er zelf zijn geweest. Het blijft niet beperkt tot Vlaanderen, of zelfs België — het platform omvat plekken in heel Europa, dus of je nu in de buurt blijft voor het weekend of met de kinderen naar het buitenland gaat, er is altijd wel iets in de buurt dat de moeite waard is om te ontdekken.

De oprichter kwam bij ons met een werkende app die hij al in handen had. Met behulp van AI-ondersteunde 'vibe coding'-tools — grotendeels gebouwd met Google Gemini en Antigravity — was hij geheel op eigen kracht van idee naar een werkende React- en Supabase-app gegaan, zonder zelf code te schrijven. Hij had de database ontworpen, de functies aan elkaar gekoppeld en had iets concreets om aan mensen te laten zien.

Maar hij was ook tegen een muur aangelopen – dezelfde muur waar bijna elke niet-technische ontwikkelaar uiteindelijk tegenaan loopt met deze tools.

Waar vibe-coding ophoudt en engineering begint

AI-codeertools zijn opmerkelijk goed in het realiseren van een werkende demo. Ze zijn veel minder goed in de dingen die niet zichtbaar worden als je zelf wat door een app klikt: wat gebeurt er als tienduizend mensen de app gebruiken in plaats van tien, wat gebeurt er als twee gebruikers tegelijkertijd dezelfde recensie bewerken, wat gebeurt er met de codebase nadat de veertigste functie aan de eerste tien is toegevoegd?

Dat was precies de kloof waar de oprichter tegenaan was gelopen. De app werkte — het was oprecht indrukwekkend voor wat één persoon zonder ontwikkelachtergrond had gebouwd — maar hij was niet stabiel. Het was het soort app dat geweldig is in een demo en onvoorspelbaar in de praktijk: randgevallen waar de AI-tools niet op waren ingesteld, steeds moeilijker uit te breiden zonder dat er ergens anders iets kapot ging, geen echt vangnet om problemen op te vangen voordat gebruikers ze ontdekten.

Dit is het deel van het verhaal dat volgens ons de moeite waard is om eerlijk te vertellen, omdat het een steeds bekender verhaal wordt. AI-tools hebben de kloof tussen een idee en een werkende app inderdaad grotendeels overbrugd. Maar aan de andere kant is er nog steeds een kloof — tussen een app die vandaag voor jou werkt in een demo, en een app die voor iedereen werkt, betrouwbaar en voor onbepaalde tijd. Die kloof is structureel en architectonisch, en dat is precies waar wij in beeld kwamen.

Het verschil tussen snel en goed

Een agent doet precies wat je hem opdraagt, en hij doet het snel. Dat is de echte aantrekkingskracht – voor de oprichter van Spots4Kids is het de reden waarom een idee binnen enkele weken in plaats van maanden uitgroeide tot een werkende app. Maar een agent optimaliseert alleen voor wat je oppervlakkig gezien hebt gevraagd: het scherm dat wordt weergegeven, de knop die werkt, de functie die wordt geleverd. Hij weet niet – en zal je ook niet vertellen – of wat hij onder de motorkap heeft gebouwd standhoudt zodra de app de demo ontgroeit. Er moet nog steeds iemand zijn die die laag in de gaten houdt – het datamodel, de manier waarop de status door de app stroomt, de aannames die pas onder echte belasting misgaan – en bereid is om tegen de agent te zeggen: „Nee, niet op die manier“, wanneer het snelle antwoord en het juiste antwoord in verschillende richtingen wijzen. Als je dat verkeerd doet, kun je nog steeds op een plek terechtkomen die functioneel goed lijkt, maar structureel verkeerd is: vandaag prima, maar over zes maanden duur om ongedaan te maken. Voor Spots4Kids is dat precies de laag waar we het grootste deel van onze tijd aan hebben besteed.

Image

Structuur aanbrengen in door AI gegenereerde code

In plaats van het bestaande weg te gooien, behielden we de basis die de oprichter al had gekozen — React en Supabase — en doorliepen we de codebase om deze de structuur te geven die ontbrak. In de praktijk betekende dat:

  • Richtlijnen en kaders voor de AI zelf. In plaats van de tooling de code te laten genereren zoals die het zelf wilde, hebben we duidelijke conventies gedefinieerd voor gegevenstoegang, componentstructuur en statusbeheer, zodat verdere AI-ondersteunde wijzigingen de architectuur zouden volgen in plaats van er omheen te werken.
  • Het dichten van de hiaten die de demo nooit aan het licht bracht. We hebben de app scenario voor scenario doorgenomen, op zoek naar inconsistenties en randgevallen die pas aan het licht komen zodra echte gebruikers zich onvoorspelbaar gaan gedragen.
  • Schaalbaarheidsproblemen verhelpen die in de oorspronkelijke build waren ingebakken. De kaart laadde oorspronkelijk elke afzonderlijke locatie bij het eerste laden van de pagina — prima tijdens het lokaal testen met een handvol vermeldingen, maar precies het soort ding dat stilletjes ophoudt met werken zodra de lijst uitgroeit tot duizenden. We zijn overgestapt op gepagineerd, ‘lazy-loaded’ ophalen, zodat de prestaties op peil blijven, ongeacht hoeveel gegevens de app verwerkt.
  • Een echt vangnet. Geautomatiseerd testen met Playwright, dat bij elke wijziging via GitHub Actions wordt uitgevoerd, zodat regressies worden opgespoord voordat ze gebruikers bereiken.
  • Iemand wiens taak het is om het daadwerkelijk kapot te proberen te maken. Geautomatiseerde tests vangen alleen op wat ze zijn geschreven om te controleren, en een oprichter die zijn eigen app test, zal deze altijd testen op de manier waarop hij verwacht dat deze wordt gebruikt, niet op de manier waarop deze daadwerkelijk zal worden gebruikt. Brian, de PM van het project, is ook opgeleid in kwaliteitscontrole en heeft daadwerkelijk tijd besteed aan het opzettelijk proberen Spots4Kids kapot te maken — het soort testen waarbij je bewust probeert het systeem te laten falen — iets wat noch een geautomatiseerde testsuite, noch de persoon die het systeem heeft gebouwd, volledig kan vervangen.
  • Een degelijke implementatiepijplijn. Wijzigingen worden via GitHub Actions naar Railway gestuurd — bewust gekozen boven duurdere alternatieven zoals Vercel om de exploitatiekosten binnen de perken te houden voor een onafhankelijke oprichter.

Niets van dit alles verving het product dat de oprichter had ontworpen. Het maakte het verschil tussen een app die er in een demo goed uitziet en een app die daadwerkelijk klaar is om echt verkeer, echte beoordelingen en echte gezinnen te verwerken die er elk weekend op vertrouwen.

Het ontwikkelen van functies die bezoekers omzetten in omzet

Stabiliteit was slechts de helft van de opdracht. Naast het structurele werk hebben we ook functies geleverd die verder gingen dan de oorspronkelijke demo: een favorietenlijst, zodat ouders hun favoriete plekken kunnen opslaan en opnieuw kunnen bezoeken zonder er opnieuw naar te hoeven zoeken, en een zelfbedieningsplatform voor advertenties — een lichtgewicht Strapi CMS dat speciaal is ontwikkeld voor het beheren van advertentieplaatsingen in de app, zodat de oprichter zelf sponsorschappen kan verkopen en beheren zonder elke wijziging via een ontwikkelaar te hoeven laten lopen. Dat gaf Spots4Kids een echte inkomstenbron die voorheen niet bestond, en die de oprichter nu volledig zelfstandig beheert.

Image

Wat is de volgende stap?

Aangezien Supabase en React nog steeds prima dienst doen als basis, is de volgende fase op onze roadmap de overstap naar Next.js, om te profiteren van server-side rendering — betere prestaties, betere SEO en meer ruimte om te groeien naarmate Spots4Kids zijn bereik in Europa uitbreidt.

Afsluitende gedachten

Wat dit project voor ons interessant maakt, is niet de tech stack — het is het moment daartussenin. De oprichter heeft iets gedaan wat een paar jaar geleden simpelweg niet mogelijk was: een idee omzetten in een echt, werkend product zonder zelf ook maar één regel code te schrijven. Wat hij van ons nodig had, was niet om helemaal opnieuw te beginnen, maar het soort technische inzicht dat je structureel op de juiste plek brengt, niet alleen functioneel — het verschil tussen een app die werkt als jij hem test, en een app die werkt, ongeacht wie hem gebruikt. Dat is hetzelfde technische inzicht op het niveau van een volledige codebase, en we verwachten dit te blijven bieden aan oprichters zoals hij, nu door AI gebouwde producten de norm worden in plaats van de uitzondering.

Mocht je de volgende keer op een zaterdag even niets te doen hebben, neem dan eens een kijkje op spots4kids.com – waar je weekend je ook naartoe brengt in Europa.

We zijn zeer tevreden over de samenwerking met Nebulae. We waren zelf al begonnen met een prototype van ons idee, en zij hebben ons geholpen dit verder uit te werken tot een sterk en professioneel eindresultaat.


Gedurende het hele proces was de communicatie transparant en duidelijk. Ze hielden voortdurend overleg, droegen actief ideeën aan en stonden altijd open voor feedback en aanpassingen. Dit gaf ons veel vertrouwen in het proces.


We kunnen hen dan ook zeker aanbevelen aan iedereen die op zoek is naar een betrouwbare en toegewijde ontwikkelingspartner.

Thibault Messiaen- Oprichter
0

Ook een project lanceren?

Neem contact met ons op en we bespreken graag uw ideeën.