Siirry sisältöön
cutty.dev
All posts

Cutty.dev:n tekninen kasa — tietoiset valinnat

Mitä cutty.dev:n alapuolella on ja miksi. Ilman evankeliointia: filosofia — tylsä, vakaa tekninen pinostus, EU-palvelimilla tapahtuva isännöinti ja yksityisyys sisällytettynä arkkitehtuuriin, jota yksi henkilö pystyy ylläpitämään.

Useimmat artikkelit “minun tech stackini” ovat ylpeitä listauksia uusimmista trendeistä. Tämä on jostain muusta — filosofiasta, joka ohjaa cutty.dev:n valintoja: tylsä ja vakaa trendikkään sijaan, eurooppalainen amerikkalaisen sijaan, yksityisyyttä lähtökohtana, ja niin yksinkertainen, että yhden henkilön on helppo ylläpitää sitä.

Framework: Astro (palvelimen puoleinen renderöinti)

cutty.dev on Astro-sovellus, joka renderöidään palvelimen puolella. Jokainen pyyntö kulkee palvelimen läpi, koostaa sivun dynaamisesti ja palauttaa valmiin HTML-koodin.

Miksi: halusin palvelimen puolella tapahtuvan renderöinnin ilman raskasta infrastruktuuria, hyvän tuen monille kielille frameworkin sisällä ja nopeuden ilman ylimääräistä kuormaa. Astro tarjoaa kaiken tämän ja koodi pysyy selkeänä — mikä yksin hoidetussa projektissa on arvokkaampaa kuin mikään trendikäs lisäosa.

Tietokanta: SQLite

Yksi tietokanta, yksi tiedosto. Lisäksi TypeScript-yhteensopiva kyselykerros, jonka ansiosta tietorakenteen muuttaminen näkyy välittömästi virheinä koodissa tuotannon sijaan.

Miksi: cutty.dev on ensisijaisesti "read-heavy" — jokainen linkin napsautus tarkoittaa lukemista ja laskurin kasvattamista. SQLite hoitaa tämän erinomaisesti, jopa hyvin suurella päivittäisellä liikenteellä. Varmuuskopio on vain yhden tiedoston kopioimista — ilman replikaation seremonioita, ilman monimutkaisia skriptejä. Yksinkertaisuus tässä ei ole laadun säästämistä; se on tietoinen päätös, jossa vähemmän liikkuvia osia tarkoittaa vähemmän asioita, jotka voivat mennä rikki.

Vaihdataan palvelin Euroopan unionissa

Omistettu palvelin EU-alueella, oma TLS-sertifikaatti, käänteinen välityspalvelu automaattisella HTTPS:llä, sovellus kontaineroidussa ympäristössä.

Miksi: tämä on perusta sille, miten cutty.dev käsittelee dataa. Täysi kontrolli sen sijaintiin (tärkeää EU:n asiakkaille ja GDPR:lle), riippumattomuus yhdestä toimittajasta, ei automaattista replikointia Yhdysvaltoihin, jota suuret pilvipalvelut tarjoavat, sekä ennustettavat kustannukset liikenteeseen perustuvan laskutuksen sijaan. Käytännölliset länsimaiset alustat antaisivat nopeamman käynnin — mutta käyttäjiesi datan fyysisen sijainnin hinnalla.

Käännökset: paikallinen tekoälymalli

cutty.dev tukee 25 kieltä, ja käännökset tekee paikallinen, avoin tekoälymalli, joka on käynnissä omalla infrastruktuurillamme.

Miksi: mikään teksty käyttöliittymästä ei vuoda ulos – emme lähetä sitä mihinkään ulkoiseen tekoälypalveluntarjoajaan. Tämä tarkoittaa nollakustannusta käännöstä kohden ja täydellistä kontrollia laadusta: voimme päivittää käännökset milloin tahansa. Konekääntäminen vaatii aina ihmisen tarkastusta – ja jokainen kieli on läpäissyt tällaisen tarkastuksen – mutta kun teemme tämän itse, yksityisyys ei ole hinnoittelussa valinnainen lisäominaisuus, vaan arkkitehtuurin perusominaisuus.

CSS: hyötykäyttöön suunniteltu (Tailwind)

Yksi tyylijärjestelmä, ei CSS-in-JS:ää, erillisiä tyylitiedostoja. Kaikki suoraan pohjissa.

Miksi: iterointinopeus. En hukkaa aikaa luokkien nimien keksimiseen, ja käyttämättömät tyylit eivät päädy lopulliselle sivulle. Järjestelmä itsessään pakottaa yhtenäisen suunnittelun. Yhdelle henkilölle jokainen minuutti, jota ei käytetä sivutuotteisiin, on tärkeä.

Otto käyttöön: kontit

Sovellus konteissa (Docker), joka otetaan käyttöön toistuvalla ja siirrettävällä tavalla.

Miksi: sama ympäristö sekä paikallisesti että tuotannossa, ei enää "minulla toimi" -ilmiötä ja mahdollisuus siirtää koko järjestelmä uudelle palvelimelle puolessa tunnissa tarpeen vaatiessa. Siirrettävyys on muoto riippumattomuudesta.

Mitä tämä minulle opetti

  • Tyltö stack voittaa. Astro, SQLite, Tailwind, kontit — kaikki kypsää, hyvin dokumentoitua ja vakaata. Mikään ei hajoa odottamattomassa hetkessä.
  • EU-isännöinti on valmis tuotantokäyttöön. Myytti "sinun täytyy mennä suureen amerikkalaiseen pilvipalveluun ollaksesi vakava" on juuri sellainen myytti.
  • Paikallinen tekoäly on todellisuutta. Sinun ei tarvitse luovuttaa tietojasi ulkoiselle API:lle saadaksesi hyvät käännökset.
  • Yksi henkilö voi julkaista tuotteen, joka näyttää tiimin tekemältä. Aika on kalliimpi resurssi kuin raha, joten jokainen tässä tehty valinta suojasi juuri aikaa.

Katso suorana lähetyksenä. Teknisiin kysymyksiin liittyen — hello@cutty.dev, vastaan saman päivän aikana.