Hoe technologie onzichtbaar wordt voor iemand die nooit achter een computer hoort te zitten
Maria maakt natuurlijke cosmetica. Ze formuleert, ze macereert, ze experimenteert. Ze werkt met kruiden, wassen, oliën en botanische extracten — en ze denkt hardop. Niet in spreadsheets, maar in gesprekken.
Ze werkt al vanaf het begin met Claude AI, volledig op haar stem. Dat werkte goed. Maar na een tijdje had ze geen overzicht meer. Recepten verspreid over tientallen gesprekken. Ingrediënten waarvan ze niet meer wist of ze ze nog had. Klanten die ze niet systematisch bijhield. Een groeiend merk zonder geheugen.
Ik zag het probleem. Ik begon te bouwen.
Niet één groot plan, maar één probleem tegelijk
Dit project is organisch gegroeid. Er was geen technisch ontwerp op papier voordat de eerste regel code werd geschreven. Er was een vrouw die verdronk in haar eigen creativiteit, en een probleem dat om een oplossing vroeg.
Stap één was een database. Supabase, gehost in de cloud. Alles wat Maria maakt, elk ingrediënt, elke batch, elke klant, elke infusie — opgeslagen op één plek. Dat hielp al enorm. Maar ze kon er nog steeds niet makkelijk inkijken.
Stap twee was een dashboard. En daarna een prijsmodule. En daarna een vector store. Het systeem groeide mee met haar behoeften.
De stack
Claude AI — de Claude app, niet een eigen implementatie
Maria gebruikt de officiële Claude app op haar telefoon. Dat was een bewuste keuze, en eerlijk gezegd de slimste beslissing in het hele project.
De Claude app heeft ingebouwde voice-to-text, projectgeheugen, artifacts, en een volwassen gebruikerservaring waar jaren ontwikkeling in zit. Daar ga ik als solo developer niet tegenaan bouwen, en dat moet ik ook niet willen. Mijn energie gaat naar wat uniek is aan dit systeem — de integratie met haar data.
Via Supabase MCP praat Claude rechtstreeks met haar database. Ze vertelt Claude dat ze een nieuwe batch heeft gemaakt, en het wordt opgeslagen. Ze vraagt wat er bijna op is, en Claude haalt het op. Geen formulieren, geen knoppen. Gewoon praten.
Supabase — één database voor alles
PostgreSQL in de cloud, met pgvector als extensie voor semantisch zoeken. De database bevat:
- Ingrediënten met prijs per gram, vervaldatum, leverancier en Pure Joy compatibiliteit
- Recepten gekoppeld aan ingrediënten met hoeveelheden per fase
- Productielog van elke batch die ze heeft gemaakt
- Infusies en macerations met status en ready-datum
- Klantpersona’s en contacten
- Een vector store met haar favoriete vakboeken
Die laatste is een detail dat ik graag uitleg. Maria heeft een kleine bibliotheek over holistische schoonheid, kruiden en natuurlijke cosmetica. Die boeken zijn geïndexeerd en opgeslagen als embeddings in pgvector. Wanneer ze Claude een formulatievraag stelt, zoekt Claude niet alleen in haar eigen productdata maar ook in haar eigen referentiewerken. Haar kennis, doorzoekbaar.
Next.js dashboard — passief overzicht, actieve controle
Claude is het gesprek. Het dashboard is het overzicht.
Dat onderscheid was de sleutel tot een systeem dat écht werkt voor Maria. Ze hoeft niet te vragen wat ze heeft — ze ziet het gewoon. Ingrediënten, infusies, recepten, klanten — alles filterbaar en aanpasbaar via een interface die ze zonder uitleg begrijpt.
Authenticatie verloopt via Supabase magic links. Ze krijgt een link in haar email, ze klikt, ze is binnen. Geen wachtwoord, geen gebruikersnaam. Voor iemand die niet achter een computer hoort te zitten is dat het enige juiste antwoord.
Prijsmodule — van gram naar verkoopprijs
Dit is het onderdeel waar de meeste logica in zit. Elk ingrediënt heeft een prijs per gram in de database. Elk recept heeft hoeveelheden. Het dashboard berekent automatisch de kostprijs per gram van een product, vermenigvuldigt dat met de inhoud van de verpakking, en telt de verpakkingskosten erbij op.
Het eindresultaat is een kostprijs per eenheid. Daarbovenop berekent ze haar marge, en ze ziet wat het product moet kosten om rendabel te zijn. Ieder product heeft een andere inhoud, dus die logica zit per product ingebakken.
Dit is nog in ontwikkeling. De boekhouding wordt in een volgende fase verder uitgewerkt. Maar de basis staat: ze heeft voor het eerst echt inzicht in wat haar producten kosten.
Twee tools, één database, verschillende gebruikspatronen
Het systeem werkt omdat de twee onderdelen verschillende dingen doen.
Claude is actief. Maria praat, Claude denkt mee, data wordt opgeslagen of opgehaald. Het is haar dagelijkse werkpartner bij het formuleren, plannen en nadenken over haar merk.
Het dashboard is passief. Het vraagt niets, het wacht. Maar als ze wil weten wat er in haar voorraad zit, wat er klaar is voor verkoop, of wat een product haar kost — dan is het er gewoon.
Één Supabase database verbindt beide. Wat Maria via Claude toevoegt, ziet ze terug in het dashboard. Wat ze in het dashboard aanpast, weet Claude de volgende keer ook.
Wat ik hiervan heb geleerd
De technologie is niet het moeilijkste deel van dit soort projecten. Het moeilijkste is begrijpen hoe iemand écht werkt — niet hoe je denkt dat ze zou moeten werken.
Maria werkt op haar stem. Dus het systeem luistert. Maria wil overzicht zonder vragen te stellen. Dus er is een dashboard. Maria rekent niet graag in Excel. Dus de prijslogica zit in de database.
Technologie die past bij de gebruiker verdwijnt. Je merkt het alleen als het er niet is.
Maria Elena Natural Beauty · Koolwijk, Noord-Brabant · 2026