A cutty.dev technológiai stackje – tudatos választások
Mi van a cutty.dev alatt és miért. Evangelizáció nélkül: filozófia – unalmas, stabil technológiai stack, EU-s tárhely és az architektúrába beépített adatvédelem, amit egyetlen ember is képes fenntartani.
A „munkaállomásom tech stackje” című cikkek többsége a legújabb trendek büszke felsorolása. Ez azonban valami mással foglalkozik — a cutty.dev választásai mögött álló filozófiával: unalmas és stabil, ahelyett hogy divatos lenne; európai, ahelyett hogy amerikai; alapvetően privát; és annyira egyszerű, hogy egy ember is fenntarthassa.
Keretrendszer: Astro (szerveroldali renderelés)
A cutty.dev egy Astroval készült, szerveroldali renderelésű alkalmazás. Minden kérés a szerveren keresztül halad, dinamikusan állítja össze az oldalt, és kész HTML-válaszban tér vissza.
Miért: szerveroldali renderelést akartam nehézkes infrastruktúra nélkül, jó támogatást sok nyelvhez, amely beépül a keretrendszerbe, és sebességet terhelés nélkül. Az Astro mind ezt nyújtja, és a kód olvasható marad – ami egy egyedül vezetett projektben többet ér, mint bármely divatos kiegészítő.
Adatbázis: SQLite
Egy adatbázis, egy fájl. Ehhez társul egy TypeScript-kompatibilis lekérdezési réteg, amelynek köszönhetően az adattípusok szerkezetének módosítása azonnal hibákat jelez a kódban, nem pedig a produkciós környezetben.
Miért: a cutty.dev elsősorban „olvasás-függő” – minden linkkattintás egy olvasást és a számláló növelését jelenti. A SQLite ezt kiválóan kezeli, akár nagyon nagy napi forgalom esetén is. A biztonsági mentés egyszerűen egyetlen fájl másolása – replikációs ceremóniák nélkül, bonyolult szkriptek nélkül. Az egyszerűség itt nem a minőség rovására megy; ez egy tudatos döntés, amely szerint kevesebb mozgó alkatrész azt jelenti, hogy kevesebb dolog romolhat el.
Szolgáltatás: szerver az Európai Unióban
Dedikált szerver az EU-ban, saját TLS-tanúsítvány, automatikus HTTPS-támogatású reverse proxy, konténerben futó alkalmazás.
Miért: ez a alapja annak, ahogy a cutty.dev kezeli az adatokat. Teljes ellenőrzés az adatok elhelyezése felett (kulcsfontosságú az EU-ban működő ügyfelek és az GDPR szempontjából), nincs függőség egyetlen szolgáltatótól, nincs automatikus replikáció az USA-ba, amelyet a nagy felhőszolgáltatók kínálnak, valamint kiszámítható költségek a forgalomtól függő számlázás helyett. A kényelmes nyugati platformok gyorsabb indulást biztosítanának – de az áruk az, hogy fizikailag hol tárolódnak a felhasználói adataid.
Fordítások: helyi AI modell
A cutty.dev 25 nyelven beszél, és a fordításokat saját infrastruktúránkon futó, helyi, nyílt forráskódú AI modell végzi.
Miért: semmilyen szöveg nem hagyja el a felületet – nem küldjük el azt egyetlen külső AI-szolgáltatóhoz sem. Ez nulla költséget jelent fordításonként, és teljes ellenőrzést a minőség felett: frissíthetjük őket akárhányszor szeretnénk. A gépi fordítás mindig emberi ellenőrzést igényel – és minden nyelv átesett egy ilyen felülvizsgálaton –, de ha ezt saját magunk végezzük, az azt jelenti, hogy a adatvédelem nem egy díjszabási opció, hanem az architektúra alapvető tulajdonsága.
CSS: használati első (Tailwind)
Egy stílusrendszer, nincs CSS-in-JS, nincsenek külön stílusfájlok. Minden közvetlenül a sablonokban.
Miért: az iteráció sebessége. Nem pazarlom az időmet osztálynevek kitalálására, a kihasználatlan stílusok amúgy sem kerülnek a végső oldalra. A konzisztens dizájnt maga a rendszer kényszeríti ki. Egy ember számára minden perc számít, amit nem töltök mellékes dolgokkal.
Megvalósítás: konténerek
Konténeres alkalmazás (Docker), amely ismételhető, hordozható módon kerül telepítésre.
Miért: ugyanaz a környezet helyileg és a termelésben, nincs „nálam működött”, és lehetőség van az egész áthelyezésére egy másik szerverre fél órán belül, ha szükség lenne rá. A hordozhatóság a függetlenség egyik formája.
Mit tanultam ebből
- A unalmas technológiai vereny nyer. Az Astro, a SQLite, a Tailwind és a konténerek — minden érett, jól dokumentált és stabil. Semmi nem robban fel a legkevésbé várt pillanatban.
- Az EU-s hosting kész a termelésre. A „komolyan csak akkor lehet, ha az amerikai nagyfelhőkhöz kell fordulni” mítosz pontosan az — egy mítosz.
- A helyi AI reális. Nem kell külső API-ra adnunk az adatainkat ahhoz, hogy jó fordításokat kapjunk.
- Egy ember is kiadhat olyat, ami csapattermékként néz ki. Az idő drágább erőforrás, mint a pénz, így minden itt hozott döntés pontosan ezt az időt védte.
Nézd élőben. Technikai megközelítéssel kapcsolatos kérdések — hello@cutty.dev, ugyanazon a napon válaszolok.