Stuart
Een modulair platform dat om het even wat beheert.
De applicatie is opgebouwd rond één kern, met packages die de rest omvatten. Zo komt er voor de volgende klant gemakkelijk iets bij, of gaat er iets weg.
Een draaiende demo van het echte werk, open voor iedereen. Ze heeft haar eigen gegevens, dus wat je er doet blijft ver van elke echte klant.
- apps — voorraad, recepten, aankopen, budget, facturatie
- 5apps voorraad, recepten, aankopen, budget, facturatie
- modules — in de backoffice
- 13modules in de backoffice
- aanpassingen — de kern blijft onveranderd
- 0aanpassingen de kern blijft onveranderd
- Rol
- Product, architectuur, bouw
- Periode
- 2026 — nu
- Stack
- Laravel Livewire Tailwind CSS MySQL Laravel Cashier Docker
Het probleem
Elk bedrijf vraagt dezelfde tachtig procent — accounts, rollen, uitnodigingen, rechten, een kalender, een dashboard — en daarna twintig procent die telkens anders is. Bouw je die twintig als een aparte versie van de tachtig, dan onderhoud je één kopie per klant — en bij de derde durft niemand nog iets te vernieuwen, want elke verbetering moet dan drie keer gemaakt en drie keer getest worden. Stuart bestaat om van die twintig een los onderdeel te maken dat je aan- of afzet, in plaats van een kopie.
Hoe het werkt
De kern legt vast wát er moet kunnen; de onderdelen vullen in hóe. Een recept vraagt om een ingrediënt uit de voorraad zonder te weten welk voorraadonderdeel eronder hangt — daardoor kan dat hele onderdeel vervangen worden terwijl de recepten gewoon blijven werken. Het wordt bewust getoond op iets onglamoureus en genadeloos: een huishouden runnen, waar de voorraad echt is, de deadline het avondeten is, en niemand een omweg accepteert.
Wat erin zit
Voorraad als dubbele boekhouding
Elke beweging is in balans en heeft twee kanten, dus er wordt nooit iets gecreëerd of vernietigd — alleen verplaatst. Loten, locaties, oudste eerst of eerst-vervallende eerst, reservaties, en een voorraadstand die altijd uit te leggen valt in plaats van enkel te tonen.
Recepten die weten wat ze kosten
Ingrediënten, stappen, gereedschap en timings, gepland tegen wat er effectief in de kast staat. De recepten steunen op de kern en nooit rechtstreeks op de voorraad — precies dat maakt allebei vervangbaar.
Aankopen, leveranciers en boodschappen
Een kasticket wordt voorraad, een boodschappenlijst wordt een aankoop, en de planner maakt van volgende week allebei. Elke stap belandt in de boekhouding en niet ernaast.
Facturatie als deel van het platform
Abonnementen via Stripe, facturen opgemaakt door Clark — het product factureert zijn eigen klanten dus met precies dezelfde regelcontrole die het verkoopt.
Op uitnodiging, met opzet
Publieke registratie staat uit, e-mail wordt geverifieerd vóór ze vertrouwd wordt om mee in te loggen of te verzenden, en rollen en rechten zijn groepsgewijs. Een account is een gezin of een bedrijf, geen mailinglijst.
Draait waar je het zet
Eén vast commando zet een nieuwe versie live, altijd in dezelfde volgorde en zonder handwerk. Teruggaan naar de vorige versie is even snel, en is een stap in het plan in plaats van een noodgreep.
De afweging
De recepten leggen geen harde koppeling naar de voorraaditems in de databank. Dat kan ook niet: die items horen bij het voorraadonderdeel, en de recepten mogen daar per afspraak niets van weten. Die koppeling opgeven kost een stukje automatische controle, en het is precies wat het mogelijk maakt een onderdeel te vervangen zonder de databank om te bouwen — een bewuste ruil, en de reden dat dit één platform is en geen vier applicaties die op elkaar lijken.
Staat er zoiets op je lijst?
De projecten verschillen, de manier van werken niet. Vertel wat je probeert op te lossen.
Neemt nieuw werk aan