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
- Şurada yayında: App Store
- Şurada yayında: Google Play
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.
