Normalde üşenip yapmayacağım işi AI ile bir saatte bitirdim
Yazan Evren BalYayın tarihi Güncellendi · 3 dk okuma

Sayfayı kopyala
PeşinTaksit, peşin ödeme ile taksitli seçeneklerin gerçek maliyetini karşılaştıran küçük bir araç. Projeyi ilk geliştirdiğimde neden yaptığımı ve nasıl çalıştığını ayrı bir yazıda anlatmıştım.
Sonra proje bir kenarda kaldı. Çok trafik almıyordu. Ben de üzerine pek düşmüyor, açıkçası çok umursamıyordum.
Yine de bu küçük proje benim için yönetilmesi gereken bir MariaDB, bir Redis, bir Fastify backend ve bir Nuxt frontend container'ı demekti. Hepsi Docker Swarm üzerinde çalışıyordu.
Ben projeyi kenarda bırakmıştım. Altyapısı ise hâlâ bakım listemdeydi.
Bir kenardaki proje için dört container
PeşinTaksit'in eski yapısında teknik olarak bozuk bir şey yoktu. Sistem düzgün çalışıyordu. Sorun, ürünün ihtiyacından daha büyük bir stack kurmuş olmamdı.
Veritabanı ayrıydı. Redis ayrıydı. Backend ve frontend ayrı container'larda çalışıyordu. Bunların hepsini Docker Swarm üzerinde yayınlıyor ve yönetiyordum.
Container yönetmek başlı başına zor bir iş değil. Fakat pek ilgilenmediğim, fazla kullanılmayan küçük bir proje için yapmak istemediğim bir işti. Ürünün aldığı trafik ve ona ayırdığım dikkat bu yapıyı haklı çıkarmıyordu.
Altyapıyı sadeleştirmek bir süredir aklımdaydı. Normal şartlarda refactoring, veri taşıma ve deployment ile birlikte 3–5 gün ayırmam gerekeceğini düşünüyordum. PeşinTaksit için o zamanı ayırmayacağımı da biliyordum.
Bu nedenle sistem çalıştığı sürece olduğu yerde duruyordu.
Dört container'dan tek deployment'a
PeşinTaksit'in verisi Cloudflare KV için uygundu. AI, MariaDB ve Redis katmanlarını kaldırıp veri erişimini KV üzerinde çalışacak şekilde dönüştürdü.
Fastify route ve servisleri de Nuxt server route'larına taşındı. Ayrı backend ve frontend container'ları yerine, uygulamanın iki tarafı aynı Nuxt projesinde bir araya geldi. Sonuçta dört ayrı servisi yönettiğim yapı, tek bir Cloudflare Workers deployment'ına dönüştü.
Ben de üretilen değişikliklere göz gezdirdim ve önemli bir sorun görmedim. Ardından yeni yapıyı Cloudflare Workers'a taşıdım. Refactoring'e başlamam ile yeni yapıyı canlıya almam arasında yaklaşık bir saat vardı.
Bu bir hız benchmark'ı değil. Bir saat ölçtüğüm süre, 3–5 gün ise işe başlamadan önceki tahminim. AI kullanmadan aynı çalışmayı paralel biçimde yapıp süreleri karşılaştırmadım.
Benim için önemli olan daha basit: 3–5 gün ayırmayacağım bir işi bir saatte bitirdim.
Ücretsiz katman da kararın parçası
PeşinTaksit şu anda Cloudflare Workers'ın ücretsiz katmanında çalışıyor. Ücretli plana geçmem gerekirse de Workers Paid hesabının asgari bedeli ayda 5 dolar. Kullanım kotası aşılırsa ek ücret oluşabilir, fakat başlangıç maliyeti bu küçük proje için kararımı değiştirecek seviyede değil.
Aslında bu yaklaşımı ilk kez kullanmıyorum. Bu blogu WordPress'ten Nuxt tabanlı yeni yapısına taşırken de işletmem gereken altyapıyı sadeleştirmiştim. evrenbal.com da bugün Cloudflare Workers üzerinde çalışıyor.
İki proje arasında ölçek ve amaç farkı var. Ortak tercih ise net: Sürekli ilgilenmem gerekmeyen bir proje, mümkün olduğunca az hareketli parça ile çalışmalı.
Yeni yapının barındırma maliyeti küçük. Benim için daha görünür kazanç, ayrı ayrı takip etmem gereken veritabanı, Redis, backend ve frontend container'larının ortadan kalkması. Projeyi hayatta tutmak için ayırdığım operasyonel dikkat azaldı.
PeşinTaksit hâlâ kenarda duruyor
Bu dönüşümden sonra PeşinTaksit bir anda en önemli projem hâline gelmedi. Hâlâ bir kenarda duran, çok fazla trafik almayan küçük bir araç.
Bir sonraki aşamada arayüzünü ve kullanıcı deneyimini iyileştirmek istiyordum. Bugün bu işi de GPT-6 Astra'ya yaptırdım. PeşinTaksit'in karşılaştırma yüzeyini yeniden ele aldı. Ödeme seçeneklerini girmek, varsayımı seçmek ve sonucu incelemek daha açık bir akışa dönüştü. Ödeme tarihleri, hesap varsayımı ve hesap izi sonuç ekranında görünür kaldı. Kullanıcı tutarları yeniden düzenleyebiliyor, seçenek ekleyip çıkarabiliyor ve girilen finansal ayrıntıları içermeyen bir özet kopyalayabiliyor.
Bu değişikliğin henüz kullanıcı davranışını veya dönüşüm oranını değiştirdiğini söyleyemem. Ertelediğim iş tamamlandı. PeşinTaksit'in arkasındaki sistem sadeleşti, karşılaştırma yüzeyi de yeniden kuruldu.
Bu deneyimde AI'ın değeri şuydu: Yapmaya üşendiğim ve zaman ayırmayacağım bir temizliği yapılabilir hâle getirdi.
AI PeşinTaksit'i daha önemli bir proje yapmadı. Onu önemine uygun bir altyapıya taşıdı.
Benzer bir refactor için kısa kontrol listesi
Küçük ve az kullanılan bir projeyi sadeleştirmeyi düşünüyorsanız, önce şu sorulara bakın:
- Projenin aldığı trafik ve ayırdığınız dikkat, mevcut altyapıyı gerçekten haklı çıkarıyor mu?
- Veritabanı, cache, backend ve frontend katmanlarının hangileri zorunlu; hangileri aynı deployment içinde birleşebilir?
- Mevcut veri yapısı Cloudflare KV gibi daha basit bir depolama modeline uyuyor mu?
- Taşıma sırasında hangi veriyi, route'u ve çalışma davranışını doğrulamanız gerekiyor?
- Yeni deployment beklediğiniz gibi çalışmazsa eski yapıya nasıl döneceksiniz?
Bu soruların yanıtı her projede aynı olmayabilir. Ama küçük bir ürünün bakım maliyeti, yeni özellik ekleme isteğinden önce değerlendirmeye değer.
Bu yazıyı faydalı bulduysanız
Web sitenizde ilgili bir içerikten bu yazıya bağlantı vermeniz ya da sosyal medyada paylaşmanız, daha fazla kişiye ulaşmasına gerçekten yardımcı olur. Desteğiniz için teşekkür ederim.
Bağlantı ve marka kullanım rehberi →Bu yazı hakkında
- Yapay zekâ kullanımı
- Yapay zekâ desteği kullanıldı — Bu yazının deneyimi, sayıları, değerlendirmeleri ve nihai editoryal sorumluluğu Evren Bal'a aittir. Metnin yapılandırılması, taslak geliştirme ve kapak görseli üretiminde yapay zekâ destekli araçlardan yararlanılmıştır.
- Şeffaflık Bilgisi
- PeşinTaksit, Evren Bal'ın geliştirdiği bir üründür.
Değişiklik geçmişi
- · Esaslı güncelleme — GPT-6 Astra desteğiyle tamamlanan PeşinTaksit arayüzü ve kullanıcı deneyimi çalışmasını yazıya ekledim; ölçülmemiş kullanıcı sonucu iddialarını dışarıda bıraktım.
