Van idee naar werkende app in een weekend met v0 en Supabase
Afgelopen weekend heb ik mezelf uitgedaagd: kan ik in twee dagen een werkende webapplicatie bouwen met alleen AI-tools? Het antwoord: ja, maar met kanttekeningen.
Het idee was simpel - een tool waarmee je boeknotities kunt opslaan, taggen en doorzoeken. Zoiets als een persoonlijke kennisbank. Niks revolutionairs maar iets dat ik zelf wilde gebruiken.
Dag 1: ik begon met v0.dev voor de UI. Je beschrijft wat je wilt in gewoon Nederlands/Engels en het genereert React componenten met Tailwind. Binnen een uur had ik een werkende frontend met een zoekbalk, cardlayout en tagfilters. De kwaliteit was verrassend goed - ik moest alleen de kleuren aanpassen en wat padding finetunen.
Daarna Supabase voor de backend. Database tabel aangemaakt, RLS policies ingesteld (met hulp van Claude), en de Supabase JS client gekoppeld aan mijn Next.js app. Auth via magic link werkte direct uit de doos.
Dag 2: de lastige dingen. Full-text search in Supabase bleek minder simpel dan verwacht. Ik moest een GIN index aanmaken en de to_tsvector/ts_query functies leren. Claude hielp enorm maar de eerste drie pogingen werkten niet. Uiteindelijk opgelost door een generated column toe te voegen.
Resultaat: een werkende app gedeployed op Vercel. Totale kosten: nul euro (alles binnen free tiers). Totale tijd: zo'n 14 uur verspreid over twee dagen.
De grote les: AI-tools zijn geweldig voor de 80% standaard werk. Maar die laatste 20% - edge cases, database optimalisatie, deployment quirks - daar heb je nog steeds echte kennis voor nodig.
Gaaf project! Die GIN index + to_tsvector combo in Supabase is inderdaad tricky. Ik gebruik voor zoekfunctionaliteit soms liever de pg_trgm extensie - die doet fuzzy matching en is makkelijker op te zetten. Werkt prima voor kleine datasets.
pg_trgm is goed voor fuzzy matching maar als je semantisch wilt zoeken (vragen in natuurlijke taal) kom je er niet mee uit. Dan is pgvector met embeddings beter. Hangt af van de use case.
v0 is echt een game changer voor prototypen. Maar ik merk dat de code die het genereert niet altijd responsive is op mobiel. Heb jij dat ook gehad? Ik moest best wat handmatig fixen voor de mobile view.
Ja klopt, de mobile styling was niet perfect. Ik heb uiteindelijk de Tailwind breakpoints handmatig aangepast. Tip: vraag v0 specifiek om "mobile-first responsive design" in je prompt, dan is het resultaat beter.
Vet dat het op de free tiers past. Ik heb een vergelijkbaar project maar zit al op de betaalde Supabase tier vanwege storage. Hoeveel notities kun je kwijt voordat je tegen de limieten aanloopt?
Mooie writeup. Ik heb laatst ook zoiets gedaan maar dan met Convex in plaats van Supabase als backend. Convex heeft ingebouwde full-text search wat dat stuk makkelijker maakt. Nadeel: minder flexibel dan raw Postgres.
Die 80/20 opmerking aan het eind is echt key. Ik merk precies hetzelfde bij mijn projecten. De AI doet het grove werk maar die edge cases kosten net zoveel tijd als vroeger. Misschien zelfs meer omdat je de AI-code ook moet snappen en reviewen.