47 puan yazan sungmin330 2026-01-06 | 8 yorum | WhatsApp'ta paylaş

Bu içerik, ürünün kendisinden çok teknoloji ve implementasyon tarafında hissedilen noktaların bir değerlendirmesidir.

Tamamen kişisel düşüncelerdir.

Üniversite 4. sınıfta dönem içinde öğrenerek geliştirilmiş bir proje olduğunu dikkate alarak okuyun!

Bu projeye neden başlandı

  • Bir startup kuruyormuş gibi düşünerek ürün geliştirme, PM/PO bakış açısıyla
  • Claude Code ile gerçekten tam kapsamlı bir full-stack MVP geliştirmenin mümkün olup olmadığını incelemek
  • Hisse senedi yatırımında hisse keşfi sorununu çözmek
  • Ticari ürünleri aktif biçimde benimseyip bu süreçten içgörü çıkarmak

Proje zaman çizelgesi ve ek bilgiler

  • Planlama + geliştirme: 1 ay
  • Yayınlama: 1 hafta
  • Operasyon: 2 ay
  • Yatırım tutarı
    • Claude Code: 100 USD
    • Apple geliştirici hesabı: 100 USD
    • AWS: yaklaşık 220 USD
    • Managed DB: yaklaşık 300 USD
    • Free tier: Datadog, Langfuse, Posthog
    • Reklam: 40.000 KRW
    • Toplam: yaklaşık 1.000.000 KRW (kendi param..)

Geliştirme süreci

Frontend

  • Tasarım token'larının tanımlanması
  • Figma ile 3 temel sayfanın hazırlanması
  • Tasarım token'larının Expo'ya uygulanması, Figma MCP kullanılarak implementasyon
  • Expo MCP kullanılmaya çalışıldı ancak stabil olmadığı için çıktılar doğrudan görülerek debug edildi
  • “Tasarım token'larını kullanıp diğer sayfaların tasarım konseptini ödünç alarak…” şeklindeki prompt ile Figma wireframe olmadan yeni sayfa oluşturma

Backend

  • Gereksinimlere dayanarak API geliştirmesi istendi
  • Frontend gereksinimlerine göre gerekli endpoint'lerin de birlikte oluşturulması istendi
  • Genel amaçlı bir stack olan Django kullanıldığı için implementasyon tarafında ciddi bir darboğaz olmadan Claude Code ile geliştirme yapılabildi

Yapay zeka

  • Multi-agent mimarisinin tanımlanıp buna göre implementasyon yapılması istendi
  • Güncel LangChain ve LLMOps spesifikasyonlarına uyum için web bağlantıları eklenerek referans alınması sağlandı
  • LLM servisinin prompt'ları, LLM tarafından üretilip kullanıldı

Observability

  • ClickStack tabanlı kurulumdan sonra Datadog'a migration yapıldı
  • Tüm sistem geliştirildikten sonra logging ve analytics uygulandı

Infra

  • Başlangıçta Pulumi kullanılmak istendi ancak Claude Code bunu iyi yapamadığı için AWS CLI tabanlı script üretimiyle deployment dosyaları yazıldı
  • Maliyet nedeniyle CI/CD ve dev server kurulmadı

Kullanılan teknoloji listesi

  • Servis: abonelik/ödeme, sosyal giriş, karanlık mod
  • Veri: API tabanlı veri toplama, CDC, ETL
  • Yapay zeka: multi-agent, Text-to-SQL, Agentic RAG, SSE streaming, oturum yönetimi, retry, rate limit
  • LLMOps: AB test, Cloud Based Prompt Management (OTA Update), synthetic dataset, evaluation

İçgörüler

Implementasyon

  • Yaklaşık 1 ay boyunca Claude Code 100 USD planı ile bu hacimde bir ürünü tek başıma yapabildim
  • Yalnızca tasarım token standardı tanımlanarak UI geliştirildi; eğer tasarım sistemi de kurulup Claude.md içine işlenmiş olsaydı daha hızlı ve daha stabil bir frontend geliştirilebilirdi
  • Tasarım sisteminin önemi büyük. Frontend geliştirme verimliliğini ciddi ölçüde artırıyor. Figma hazırlamaktan ziyade önce implement edip sonra düzeltmek daha hızlı. Nitekim implement edilmiş ama Figma'da olmayan sayfalar da var.
  • İstisna durumlarının tanımlanması. Mobil uygulama ve yapay zeka sistemlerinde daha da önemli. Sistem genelindeki timeout yönetimi, background politikası, streaming kurtarma, basit hatalar gibi happy path dışı durumların planlanıp uygulanması gerekiyor. Claude Code bazen hata işlemeyi kendiliğinden ekliyor ama frontend ve backend'i birlikte şık bir şekilde çözmüyor. Bu yüzden bu kısımlar için Claude Code'dan ayrıca talepte bulunmak gerekiyor.
  • Büyük çaplı refactoring yasak. Başta frontend'de tek bir dosyaya tüm React ve CSS kodları konmuştu; bunları ayırmak için refactoring yapıldı. Sonuçta başarısız oldu. Ayrıldı ama mevcut UI'dan farklı bir şekle dönüştü ve sonunda parçalı biçimde yavaş yavaş ayırmak gerekti. Geliştirmenin başında kod mimarisi üzerine düşünmek, component kullanılacaksa ilgili detayları prompt'a ekleyerek bunu iyi kullanmasını sağlamak gerekiyor gibi görünüyor.
  • Claude.md kullanımı. Bir özellik geliştirildikten sonra, bunun temelinde Claude.md içine kaydedilmesi iyi olacak içeriklerin eklenmesini Claude Code'dan istemek faydalı. Dosya giderek büyüdüğü için burada gerçekten gerekli olanlar bırakılıp geri kalanların silinmesi de istenebilir. README ve claude.md birlikte uygun biçimde kullanılarak LLM context'i ayarlanabilir. (skills olmayan dönem)
  • Sub-agent kullanılmadı. Olmadan da iyi ürettiği için kullanılmadı. Sadece Plan modunda, geliştirme planı yeterince somutlaşana kadar istek yapıldı; yeterli olduğunda Agent'ın otonom biçimde geliştirmesine izin verildi.
  • Paket ve teknolojileri önceden tanımlayıp bildirmek iyi oluyor. Claude.md, README ya da belirli spesifikasyonları net biçimde belirtip çalıştırmak; yinelenen kod üretimini veya farklı stack kullanılmasını engelliyor. (Skills?)

Yapay zeka sistemi

  • ReAct yavaş. UX berbat. Multi-agent'ı paralel çalışacak şekilde kurmuş olunsa da yine de fazla yavaş.
  • UX. Yavaş yanıt sorununu çözmek için multi-agent adımlarını gösteren UX, streaming, animasyon, dinamik Markdown render etme gibi şeyler eklendi. Ama yanıt 1 dakika sürüyorsa bunun ne anlamı var ki?… (B2C uygulama)
  • Bulut tabanlı prompt ve tool schema yönetimi. Online ortamda uygulanabiliyor olması çok iyi. Artık zorunlu olduğunu düşünüyorum ve Langfuse'u seviyorum.
  • Text-to-SQL'de prompt içine schema koymak gerekiyor. Bu da context'i fazlasıyla tüketiyor. Bunu fine-tuning ya da RAG ile çözmek mümkün olabilir.
  • Değerlendirme ve iteration. Kullanıcı persona'larına göre synthetic dataset oluşturuldu ve LLM-as-a-Judge ile değerlendirildi. Otomatikleştirmek isteniyor ama yine tek kişi için geliştirme kaynağı yetersiz kalıyor.
  • Değerlendirme metrikleri ve rubric: beklenenden daha uğraştırıcı. Genel amaçlı metriklerin DAU ve MAU gibi şeyler olduğu düşünülüyor. Ancak bu tür metriklerle içgörü üretilemiyor. Metrikler duruma göre ayrı ayrı tanımlanmalı, düşük kaliteli örnekler ayırt edilmeli, bunlar çözülmeli ve iteration yapılmalı. Sonuçta, özel metrikleri iyi oluşturmaya yardımcı olan bir sisteme ihtiyaç var. (multi-turn ne olacak?..)
  • OpenAI Tier beklenenden daha kısıtlayıcı. Düşük tier'da iyi modelleri üretimde kullanmak mümkün değil.

Altyapı

  • AWS pahalı, Managed DB pahalı. İyi ama pişmanlık veriyor
  • Clickhouse çok pahalı ama iyi. Managed kullanınca rahat. Özellikle CDC'nin de tek seferde gelmesi güzel. (Hızlı olması neye yarar, LLM yavaşsa)
  • Qdrant ve Redis Cloud da fena değil. Kuruluma az zaman gidiyor, maliyeti de düşük.
  • Datadog. Çok iyi. Ama pahalı olacağı için sadece free tier kullanıldı. Özellikle oluşan hataları ayrı toplayıp bildiren özelliği çok iyi. ECS üzerinde agent sidecar olarak kullanıldı.

Servis

  • Ödeme ve abonelik. Toss Pay kullanımı düşünüldü ama tercih edilmedi. Öncelikle yıllık ücret gerekiyor ve React Native dokümantasyonu olmadığı için SDK pek iyi değil. Hayal kırıklığı büyük. Sonuçta Nice Payments seçildi. Yıllık ücreti yok ve dev server da sunduğu için sorunsuzca geliştirilebildi.
  • Apple ödemesi. Nice Payments kullanıldı ama sorunlar var. Apple'ın ödeme politikaları zorlayıcı. iOS geliştirme sürecinde Apple politika sorunları yaşandı ve çeşitli dokümanlar ile UI tarafında çözümler gerekti. Sanırım doğrudan Apple'ın kendi ödeme sistemini kullanmak daha rahat olur.
  • Ödeme ile abonelik (otomatik ödeme) aynı şey değil. Otomatik ödeme implementasyonu için scheduling altyapısı gerekiyor ve kart anahtarını saklamak için güvenlik tarafına da dikkat etmek gerekiyor. Sonunda yapıldı ama beklenenden daha zorlu. Stripe kullanmayı deneme isteği oluştu.
  • Push bildirimleri. Expo ile rahatça kurulabiliyor. Sonuçta mesaj gönderebilmek için bir backoffice gerekiyor ama bence temel bir özellik.

Düşünceler

  • Yazılım tasarım kalıpları ve mimarisinin önemi daha da artacak gibi görünüyor.
  • İnsanların coding agent'larla oyuncak projelerin ötesinde sonuçlar üretmeye daha çok ilgi duyması güzel olurdu.
  • Aşırı spesifikasyondan kaçınalım. Ama işe girmek için aşırı spesifikasyonları da bilmek gerekmiyor mu? Bir dahaki sefere tek bir instance üzerinde docker-compose ile bitirmek daha iyi olabilir… (supabase ile?)
  • Tek kişilik girişim çağı neredeyse geldi. Ama para kazanmakla bir şey inşa etmek ayrı şeyler diye düşünüyorum.
  • Tek başına yapmak eğlenceli değil
  • Linear da Jira yerine kullanmak için fena değil. İlk kez kullandığım için ticket hiyerarşisine göre gruplu görüntüleme yöntemini tam bilmiyorum.

Sonuç

  • Sunucu maliyetleri karşılanamadığı için proje sonlandırıldı.
  • Bakiye -100

Referans

  1. sayfadan itibaren ek içerik var.

https://figma.com/deck/wsGLEmFYOUPUheWBl1t23K/…

8 yorum

 
angrybird0 2026-03-20

Bakiye -100
haha

 
chickendreamtree 2026-01-09

İyi içeriği paylaştığınız için teşekkürler.

 
princox 2026-01-07

Muhtemelen bir milyon wonun üzerinde değerinde bir deneyimdir. Ben de üniversitenin son sınıfındayken çok fazla proje deneyimim olmadığını hatırlıyorum. Yapay zekayı kullanarak o kadarını hayata geçirmiş olması gerçekten çok etkileyici.

 
mark87 2026-01-07

Deneyim paylaşımı gerçekten çok keyifli. Zevkle okudum. Meğer hatta aynı okuldan bir alt dönemdenmişsiniz, vay be. Günümüzde 4. sınıftayken böyle meydan okumalar da yapılıyor demek; gerçekten çok etkileyici.

 
slowandsnow 2026-01-07

Muhtemelen öğrenme amacıyla gereğinden fazla mühendislik yapılmış, ama maliyet gerçekten üzücü.

 
awbrg789 2026-01-07

Oldukça sağlam.

 
botplaysdice 2026-01-07

Bu aralar üniversite öğrencilerinin portföy kalitesi gerçekten inanılmaz. Ben 20 yıl önce mezun olduğumda sanki gerçekten hiçbir şey bilmeden mezun olmuştum; çok etkileyici.

 
zxcv123 2026-01-07

Yapay zeka çıtayı inanılmaz derecede yukarı çekip herkesi benzer seviyeye getirdi.
Artık gerçek geliştirici için sadece iyi karakterli birini seçmek en doğrusu gibi geliyor lol