Teknikstacken på cutty.dev – medvetna val
Vad finns under cutty.dev och varför? Utan evangelism: filosofi – tråkig, stabil teknikstack, värdtjänster i EU och integritet inbyggd i arkitekturen som en person kan upprätthålla.
De flesta artiklar om "mitt tech stack" är en stolt lista över trender. Denna handlar om något annat — om filosofin bakom valen på cutty.dev: tråkigt och stabilt istället för modernt, europeiskt istället för amerikanskt, privat från grunden, och enkelt nog för att en ensam person ska kunna underhålla det.
Ramverk: Astro (servergenerering)
cutty.dev är en Astro-applikation som renderas på serversidan. Varje begäran går genom servern, som bygger sidan dynamiskt och svarar med färdig HTML.
Varför: jag ville ha serverrendering utan tung infrastruktur, bra stöd för många språk inbyggt i själva ramverket och hastighet utan overhead. Astro ger allt detta, och koden förblir läsbar — vilket vid ett projekt som drivs av en ensam person är mer värt än någon trendig funktion.
Databas: SQLite
En databas, en fil. Dessutom ett frågelager som är TypeScript-vänligt, vilket gör att ändringar i datastrukturen omedelbart visar fel i koden istället för i produktionen.
Varför: cutty.dev är i huvudsak "read-heavy" — varje klick på en länk innebär en läsning samt en ökning av räknaren. SQLite hanterar detta utmärkt, även vid mycket högt dagligt trafikvolym. En säkerhetskopia består bara av att kopiera en enda fil — utan replikeringsceremonier eller komplicerade skript. Enkelheten här är inte en kompromiss med kvaliteten; det är ett medvetet val där färre rörliga delar innebär färre saker som kan gå sönder.
Hosting: server i Europeiska unionen
Dedikerad server i EU, eget TLS-certifikat, omvänd proxy med automatisk HTTPS, applikation i container.
Varför: detta är grunden för hur cutty.dev hanterar data. Full kontroll över deras plats (avgörande för kunder i EU och för GDPR), ingen beroende av en enda leverantör, ingen automatisk replikering till USA som stora molnplattformar erbjuder, och förutsägbara kostnader istället för en faktura som beror på trafik. Bekväma västliga plattformar skulle ge en snabbare start — men till priset av var dina användares data fysiskt hamnar.
Översättningar: lokal AI-modell
cutty.dev talar 25 språk, och översättningarna görs med en lokal, öppen AI-modell som körs på vår egen infrastruktur.
Varför: ingen text från gränssnittet lämnar systemet – vi skickar inte över det till någon extern AI-leverantör. Det innebär noll kostnad per översättning och full kontroll över kvaliteten: vi kan uppdatera den när som helst. Maskinöversättning kräver alltid mänsklig granskning – och varje språk har genomgått sådan granskning – men att göra detta internt betyder att integritet inte är ett alternativ i prislistan, utan en egenskap i arkitekturen.
CSS: användarcentrerat (Tailwind)
Ett stylesystem utan CSS-in-JS och utan separata stilfiler. Allt direkt i mallarna.
Varför: iterationshastighet. Jag slösar inte tid på att hitta namn till klasser, och oanvända stilar når ändå inte den slutgiltiga sidan. En konsekvent design som tvingas fram av systemet själv. För en person räknas varje minut som inte spenderas på bivirkningar.
Implementering: containrar
Behållarebaserad applikation (Docker) som distribueras på ett reproducerbart och portabelt sätt.
Varför: samma miljö lokalt och i produktion, inga "det fungerade hos mig", och möjligheten att flytta hela systemet till en annan server på en halv timme om det behövs. Bärbarhet är en form av oberoende.
Vad det har lärt mig
- Den tråkiga stacken vinner. Astro, SQLite, Tailwind, containrar – allt är moderat, väl dokumenterat och stabilt. Inget går sönder vid det minst förväntade ögonblicket.
- Hosting i EU är produktionsklart. Myten om att "du måste gå till den stora amerikanska molnet för att tas på allvar" är precis det – en myt.
- Lokalt AI är verklighet. Du behöver inte lämna dina data till ett externt API för att få bra översättningar.
- En person kan släppa något som ser ut som en produkts team. Tid är en dyrbar resurs, så varje val här skyddade just tid.
Se live. Frågor om den tekniska tillvägagångssättet — hello@cutty.dev, jag svarar samma dag.