cutty.dev'in teknoloji yığını — bilinçli seçimler
cutty.dev'in altında neler var ve neden? Evangelizm yok; felsefe: sıkıcı ama kararlı bir teknoloji yığını, AB'de barındırma ve mimarisine gömülü gizlilik, tek bir kişinin yönetebileceği düzeyde.
Çoğu "benim tech stack'im" makalesi gururla sıralanan yeni teknolojilerin listesinden ibarettir. Bu ise farklı bir şey hakkında — cutty.dev'deki seçimlerin arkasındaki felsefe: modaya uygunluk yerine sıkıcı ve stabil olmak, Amerikalı yerine Avrupalı olmak, baştan beri gizlilik odaklı olmak ve tek bir kişinin idame ettirebileceği kadar basit olmak.
Framework: Astro (sunucu tarafı renderlama)
cutty.dev, sunucu tarafında işlenen bir Astro uygulamasıdır. Her istek sunucuya gider, sayfa dinamik olarak oluşturulur ve hazır HTML ile yanıt verir.
Neden: ağır altyapıya ihtiyaç duymadan sunucu taraflı renderlama, framework içinde yerleşik olarak gelen çoklu dil desteği ve ek yük olmadan hız istiyordum. Astro bunu tümüyle sağlıyor ve kodun okunabilir kalmasını garanti ediyor; bu da tek başına yürütülen bir projede herhangi bir trend modasından daha değerli.
Veritabanı: SQLite
Tek bir veritabanı, tek bir dosya. Buna ek olarak, TypeScript dostu bir sorgu katmanı sayesinde veri yapısındaki değişiklikler üretim ortamında değil, doğrudan kodda hataları gösterir.
Neden: cutty.dev öncelikle "read-heavy" (okuma ağırlıklı) bir yapıdadır — her bağlantı tıklaması bir okuma işlemi ve sayaç artışını temsil eder. SQLite bunu günlük çok yüksek trafik düzeylerinde mükemmel şekilde halleder. Yedekleme, tek bir dosyanın kopyalanması anlamına gelir; replikasyon törenlerine gerek yok, karmaşık betiklere de gerek yok. Buradaki sadelik kaliteden tasarruf etmek değildir; daha az hareketli parçanın, arızalanabilecek daha az öğe anlamına geldiğinin bilinçli bir tercihidir.
Hosting: Avrupa Birliği'nde sunucu
AB'de özel sunucu, kendi TLS sertifikası, otomatik HTTPS ile ters vekil sunucu, kapsayıcı içinde çalışan uygulama.
Neden: cutty.dev’in verileri nasıl ele aldığına dair temel dayanak noktasıdır. Verilerin konumu üzerinde tam kontrol (AB'deki müşteriler ve KVKK için kritik), tek bir sağlayıcıya bağımlılık olmaması, büyük bulut platformlarının sunduğu ABD'ye otomatik veri kopyalama olmaması ve trafik bazlı faturalandırma yerine öngörülebilir maliyet. Batılı konforlu platformlar daha hızlı başlangıç sunabilirdi — ancak kullanıcılarınızın verilerinin fiziksel olarak nereye aktarıldığı bedeliyle.
Çeviriler: yerel yapay zeka modeli
cutty.dev 25 dilde konuşur ve çeviriler kendi altyapımızda çalışan yerel, açık kaynaklı bir yapay zeka modeli tarafından yapılır.
Neden: arayüzdeki hiçbir mett dışarı çıkmaz — onu harici bir AI sağlayıcısına göndermiyoruz. Bu durum, çeviri başına sıfır maliyet ve kalite üzerinde tam kontrol anlamına gelir: istediğimiz zaman yenileyebiliriz. Makine çevirisi her zaman insan denetimi gerektirir — ve her dil bu denetimden geçmiştir — ancak bunu kendi içinde yapmak, gizliliğin fiyat listesinde bir seçenek değil, mimarinin bir özelliği olduğu anlamına gelir.
CSS: utility-first (Tailwind)
Tek bir stil sistemi, CSS-in-JS yok, ayrı stil dosyaları yok. Her şey doğrudan şablonlarda.
Neden: yineleme hızı. Sınıf adları bulmak için zaman kaybetmiyorum ve kullanılmayan stiller nihai sayfaya ulaşmıyor. Sistemi oluşturan tasarımın dayatılan tutarlılığı. Tek bir kişi için, yan konulara harcadığınız her dakika önemlidir.
Uygulama: konteynerlar
Konteynerlerde çalışan uygulama (Docker), tekrarlanabilir ve taşınabilir şekilde dağıtılır.
Neden: aynı ortamı hem yerel olarak hem de üretimde kullanmak, "bende çalışıyordu" gibi durumların önüne geçmek ve gerekirse tüm sistemi yarım saat içinde başka bir sunucuya taşıma imkanı taşımak. Taşınabilirlik, bağımsızlığın bir biçimidir.
Bunu bana ne öğretti
- Sıkıcı teknoloji yığını kazanır. Astro, SQLite, Tailwind, konteynerler — hepsi olgun, iyi belgelenmiş ve stabil. En beklenmedik anda hiçbir şey bozulmaz.
- AB'de barındırma üretim için hazırdır. "Ciddi olmak için büyük Amerikan bulutuna gitmelisin" miti tam olarak budur — bir efsane.
- Yerel yapay zeka gerçek. İyi çeviriler elde etmek için verilerinizi harici bir API'ye bırakmanıza gerek yok.
- Bir kişi, bir ekip ürünü gibi görünen bir şeyi piyasaya sürebilir. Zaman, paradan daha pahalı bir kaynaktır; bu yüzden burada yapılan her seçim tam da zamanı korumak içindi.
Canlı izleyin. Teknik yaklaşımla ilgili sorular için — hello@cutty.dev, aynı gün yanıt veriyorum.