Anar al contingut
cutty.dev
All posts

Stack tecnològic de cutty.dev — eleccions conscients

Què hi ha sota cutty.dev i per què. Sense evangelisme — filosofia: un stack avorrit i estable, allotjament a la UE i privacitat integrada en l'arquitectura, que una sola persona és capaç de mantenir.

La majoria d'articles "mój tech stack" són una llista orgullosa de novetats. Aquest tracta d'una altra cosa — sobre la filosofia que hi ha darrere les eleccions de cutty.dev: avui, estable i monòton en comptes de moda, europeu en comptes de nord-americà, privat per defecte, i prou senzill com perquè una sola persona pugui mantenir-lo.

Framework: Astro (renderitzat del costat del servidor)

cutty.dev és una aplicació Astro renderitzada al costat del servidor. Cada petició passa pel servidor, construeix la pàgina dinàmicament i respon amb l'HTML preparat.

Per què: volia renderització al costat del servidor sense una maquinària pesada, un bon suport per a molts idiomes integrat en el mateix framework, i velocitat sense sobrecarga. Astro ofereix tot això, i el codi es manté llegible — la qual cosa, en un projecte realitzat en solitari, val més que qualsevol addició de moda.

Base de dades: SQLite

Una base de dades, un sol fitxer. A més, una capa de consultes compatible amb TypeScript, gràcies a la qual el canviament de l'estructura de dades mostra immediatament errors al codi en lloc de producció.

Per què: cutty.dev és sobretot "read-heavy" — cada clic en un enllaç és una lectura més l'increment d'un contador. SQLite ho fa excel·lentament, fins a un volum de trànsit diari molt gran. La còpia de seguretat és simplement copiar un sol fitxer — sense cerimònies de replicació, sense scripts complicats. La simplicitat aquí no és un estalvi en la qualitat; és una decisió conscient que menys peces mòbils significa menys coses que poden trencar-se.

Hosting: servidor a la Unió Europea

Servidor dedicat a la UE, certificat TLS propi, reverse proxy amb HTTPS automàtic, aplicació en contenidors.

Per què: és el fonament de com cutty.dev tracta les dades. Control total sobre la seva ubicació (clau per als clients de la UE i per al RGPD), la manca de dependència d'un únic proveïdor, la manca de replicació automàtica als EUA que ofereixen les grans plataformes de núvol, i un cost previsible en lloc d'una factura dependent del trànsit. Les plataformes occidentals còmodes donarien un inici més ràpid — però al preu de on arriben físicament les dades dels teus usuaris.

Traduccions: model IA local

cutty.dev parla 25 idiomes, i la traducció la realitza un model d'IA local i obert executat en la nostra pròpia infraestructura.

Per què: cap text de la interfície surt a l'exterior — no el enviem a cap proveïdor d'IA extern. A això s'afegeix un cost zero per a cada traducció i un control total sobre la qualitat: podem actualitzar-les quan vulguem. La traducció automàtica sempre requereix una revisió humana — i cada llengua ha passat per una revisió de ਇਸ — però fer-ho nosaltres mateixos significa que la privacitat no és una opció en la llista de preus, sinó una propietat de l'arquitectura.

CSS: utility-first (Tailwind)

Un sol sistema d'estils, sense CSS-in-JS, sense fitxers d'estil separats. Tot directament en les plantilles.

Per què: velocitat d'itinerari. No perdo el temps inventant noms de classes, i els estils no utilitzats de totes maneres no arriben a la pàgina final. Un disseny coherent imposat pel mateix sistema. Per a una sola persona, cada minut que no passo en coses secundàries compta.

Implementació: contenidors

Aplicació en contenidors (Docker), desplegada d'una manera repetible i portable.

Per què: el mateix entorn localment i a producció, la inexistència del "a mi em funcionava", i la possibilitat de traslladar tota la part a un altre servidor en mitg an hour, si fos necessari. La portabilitat és una forma d'independència.

Què m'ha ensenyat això

  • L'estacament avorrit guanya. Astro, SQLite, Tailwind, contenidors — tot és madur, està ben documentat i és estable. Res es trenca en el moment menys esperat.
  • L'allotjament a la UE està preparat per a producció. El mite de "has de passar al gran núvol americà per fer-ho serietament" és exactament això — un mite.
  • La IA local és real. No cal entregar les teves dades a una API externa per tenir bones traduccions.
  • Una sola persona pot llançar una cosa que sembli el producte d'un equip. El temps és un recurs més car que els diners, així que cada elecció aquí ha protegit precisament el temps.

Mira en directe. Preguntes sobre l'enfocament tècnic — hello@cutty.dev, respondo el mateix dia.