De technologiestack van cutty.dev — bewuste keuzes
Wat zit er onder cutty.dev en waarom? Zonder evangelisme: filosofie is een saaie, stabiele techstack, hosting in de EU en privacy die ingebouwd is in de architectuur, die door één persoon onderhouden kan worden.
De meeste artikelen over "mijn tech stack" zijn een trotse opsomming van nieuwtjes. Dit gaat over iets anders — over de filosofie achter de keuzes van cutty.dev: saai en stabiel in plaats van trendy, Europees in plaats van Amerikaans, privacy-first van nature, en zo eenvoudig dat één persoon het kan onderhouden.
Framework: Astro (server-side rendering)
cutty.dev is een Astro-applicatie die server-side wordt gerenderd. Elk verzoek gaat via de server, bouwt de pagina dynamisch op en antwoordt met kant-en-klaar HTML.
Waarom: ik wilde server-side rendering zonder zware overhead, goede ondersteuning voor talrijke talen ingebouwd in het framework zelf, en snelheid zonder extra kosten. Astro biedt dit allemaal, en de code blijft leesbaar — wat bij een solo-project meer waard is dan welke trendy feature dan ook.
Database: SQLite
Eén database, één bestand. Plus een TypeScript-vriendelijke querylaag die ervoor zorgt dat wijzigingen in de datastructuur direct fouten in de code tonen, in plaats van pas in productie.
Waarom: cutty.dev is in de eerste plaats "read-heavy" — elke klik op een link betekent lezen en het verhogen van een teller. SQLite doet dit uitstekend, zelfs bij zeer hoog dagelijks verkeer. Een back-up is simpelweg het kopiëren van één bestand — zonder replicatierituelen, zonder ingewikkelde scripts. Simpliciteit hier is geen bezuiniging op kwaliteit; het is een bewuste keuze dat minder bewegende delen betekent dat er minder dingen kapot kunnen gaan.
Hosting: server in de Europese Unie
- Dedicated server in the EU, own TLS certificate, reverse proxy with automatic HTTPS, containerized application.
Waarom: dit is de basis van hoe cutty.dev met gegevens omgaat. Volledige controle over de locatie (cruciaal voor klanten in de EU en voor AVG), geen afhankelijkheid van één aanbieder, geen automatische replicatie naar de VS zoals grote cloudplatforms bieden, en voorspelbare kosten in plaats van een rekening die afhankelijk is van het verkeer. Handige westerse platformen zouden een snellere start mogelijk maken — maar tegen de prijs van waar je gebruikersgegevens fysiek terechtkomen.
Vertalingen: lokaal AI-model
cutty.dev spreekt 25 talen en de vertalingen worden gemaakt door een lokale, open-source AI-model dat draait op onze eigen infrastructuur.
Waarom: geen enkele tekst uit de interface wordt naar buiten gestuurd—we sturen deze niet naar een externe AI-aanbieder. Dit betekent nul kosten per vertaling en volledige controle over de kwaliteit: we kunnen het altijd vernieuwen wanneer we willen. Machinevertaling vereist altijd menselijke verificatie—en elke taal is daar doorheen gegaan—maar dit intern doen betekent dat privacy geen optie in de prijslijst is, maar een eigenschap van de architectuur.
CSS: utility-first (Tailwind)
Eén systeem van stijlen, geen CSS-in-JS, geen aparte stijlbestanden. Alles direct in de sjablonen.
Waarom: iteratiesnelheid. Ik verlies geen tijd aan het verzinnen van klassennamen, en ongebruikte stijlen komen sowieso niet op de definitieve pagina. Een consistente uitstraling wordt afgedwongen door het systeem zelf. Voor één persoon telt elke minuut die ik niet besteed aan nevenactiviteiten.
Implementatie: containers
Container-applicatie (Docker), op een reproduceerbare en draagbare manier geïmplementeerd.
Waarom: dezelfde omgeving lokaal en in productie, geen "het werkte bij mij", en de mogelijkheid om alles binnen een half uur naar een andere server te verplaatsen indien nodig. Draagbaarheid is een vorm van onafhankelijkheid.
Wat me dit heeft geleerd
- De saaie stack wint. Astro, SQLite, Tailwind, containers — alles is rijp, goed gedocumenteerd en stabiel. Niets breekt op het minst verwachte moment.
- Hosting in de EU is productieklaar. De mythe "je moet naar de grote Amerikaanse cloud gaan om serieus te zijn" is precies dat: een mythe.
- Lokale AI is reëel. Je hoeft je gegevens niet aan een extern API te geven voor goede vertalingen.
- Eén persoon kan iets uitbrengen dat eruitziet als het product van een team. Tijd is een duurder goed dan geld, dus elke keuze hier beschermde juist de tijd.
Bekijk live. Vragen over de technische aanpak — hello@cutty.dev, ik antwoord dezelfde dag nog.