Makale

TinyDebt’i Geliştirdim: Backend’siz, Minimal Bir Borç Takipçisi

TinyDebt’in teknik kararlarına bir bakış: yerel öncelikli depolama, backend’siz yapı ve yolunuzdan çekilen sakin bir arayüz.

TinyDebt’i Geliştirdim: Backend’siz, Minimal Bir Borç Takipçisi

Son birkaç haftadır borçları, ödünç alınan paraları ve geri ödemeleri takip etmek için küçük bir uygulama olan TinyDebt’i geliştiriyorum. Küçük ve odaklı uygulamalar geliştiren birine faydası olursa diye arkasındaki bazı teknik kararları paylaşmak istedim.

🧩 Neden geliştirdim?

Arkadaşlar arasındaki küçük borçları sürekli unutuyordum ve mevcut uygulamalar ağır geliyordu: kayıtlar, her yerde reklamlar, karmaşık finans özellikleri.

Şunları yapan bir şey istedim:

  • anında açılsın
  • 3–5 saniyede borç eklemeye izin versin
  • çevrimdışı çalışsın
  • sonsuza dek basit kalsın

Böylece TinyDebt doğdu.

⚙️ Teknoloji yığını

TinyDebt bilinçli olarak hafif tutuldu:

  • Mobil için React Native (Expo)
  • AsyncStorage ile yerel öncelikli yaklaşım
  • Backend yok - veriler cihazda tutulur (yalnızca yedekler için Firebase)
  • Her yerde TypeScript
  • UI kütüphaneleri yerine özel bileşenlerle minimal arayüz
  • EAS build ile App Store ve Google Play paketleme

Kullanıcı hesabı yok, analitik yok, temel olanlar dışında harici bağımlılık yok.

🗂️ Veri modeli

Her borç kaydı şöyle görünür:

type Debt = {
  id: string;
  name: string;
  amount: number;
  type: "owed" | "borrowed";
  createdAt: number;
  history: Repayment[];
};

type Repayment = {
  amount: number;
  date: number;
};

Her şeyi serileştirilebilir tutmak, depolamayı ve taşımaları zahmetsiz kılar.

🧠 Yerel öncelikli UX

TinyDebt bir sunucuya bağımlı değildir, bu yüzden:

  • eylemler anında uygulanır
  • yükleniyor veya “eşitleniyor” durumları yoktur
  • uygulama eski telefonlarda bile hızlı hissettirir

Küçük bir kişisel yardımcı uygulama için bu tam uygun.

🎨 Arayüz felsefesi

Uygulamanın “sakin” hissettirmesini istedim:

  • sade, nötr renkler
  • grafik veya pano yok
  • karmaşa yok - işin %90’ını tek bir ekran yapar
  • hızlı giriş için erişilebilir dokunma hedefleri

Küçük uygulamaların faydalı olmak için karmaşık görsellere ihtiyacı yoktur.

📦 Yayınlama

Ama kapsamı küçük tutmak istiyorum - asıl amaç bu.

🙌 Geri bildirimlere açığım

Mobil uygulamalar geliştiriyorsanız veya yerel öncelikli yardımcı uygulamalar hakkında fikirleriniz varsa geri bildirimlerinizi duymak isterim. Sürekli geliştiriyorum.