← Projeler

Construction App

İnşaat maliyet tahmini için iOS uygulaması — SwiftData, Swift Charts, PDF export, canlı kur verisi ve Gemini destekli proje analizi.

SwiftSwiftDataChartsAI
Kaynak kodu — GitHub ★ 2son commit: 16 Ağustos 2026

Zincirlerimi kırdığım proje

Bu projeye başladığımda Swift’i teorik olarak öğrenmiştim. Sözdizimini biliyordum, kavramları biliyordum ama ne yapmam gerektiğine dair hiçbir fikrim yoktu. Küçük bir liste uygulaması yapmıştım, o kadar. Bilgi vardı, pratik yoktu.

Sonra daha önce bir kenara not ettiğim bir fikir aklıma geldi ve bir anda kendimi içine attım. Nasıl yapacağımı bilmiyordum. Neyle yapacağımı bilmiyordum. Sadece yapılabilir bir fikir olduğunu biliyordum. Geriye dönüp baktığımda, başlamak için gereken tek şey de oymuş.

Çıraklık dönemi

Süreç hiç temiz değildi. Yazamadığım kodlar, oturmayan fonksiyonlar, nereye gideceğini bilemediğim parametreler, birbirine karışan klasörler… Tam anlamıyla bir çıraklık eseriydi.

Ama o dağınıklığın içinden gerçek bir uygulama çıktı: proje oluşturup malzeme ekleyebildiğin, maliyetleri hesaplayan, harcamaları grafiğe döken, güncel kur verisini çeken, yapay zekâ destekli bir analiz üretebilen ve tüm bunları paylaşılabilir bir PDF rapora dönüştüren bir uygulama. Kullanıcı girişi, oturum saklama ve her kullanıcının yalnızca kendi verisini görmesi de işin içindeydi.

Yani “nasıl yapacağımı bilmiyorum” diye başladığım listenin her maddesini, sırayla, tek tek öğrenerek çözdüm.

O an

En son baktığımda gerçekten iOS geliştiriyordum. Öğrenen değil, yapan taraftaydım. Karmaşık bir sürü duyguya aynı anda kapıldığım nadir anlardan biriydi. Yaptığım şeye şaşırmak, kodun dağınıklığından utanmak ve buna rağmen çalıştığı için gurur duymak, hepsi bir arada.

O gün bu iş benim için “öğrendiğim bir dil” olmaktan çıkıp yaptığım şey haline geldi.

Ne öğrendim?

  • Başlamak için hazır olmak gerekmiyormuş — hazır hissetmeyi beklesem hâlâ liste uygulamaları yazıyor olurdum.
  • Dağınık kod da bir aşamadır — bugün aynı projeyi yazsam çok farklı kurardım; ama o dağınıklığı yaşamadan bunu bilemezdim. Kodun neden düzenli olması gerektiğini, düzensiz kodla uğraşarak öğrendim.
  • Bilgi ile pratik arasındaki uçurum — Swift’i “bilmek” ile Swift’le bir şey “yapmak” bambaşka iki şeymiş. Aradaki köprü sadece deneyerek kuruluyor.

Sonrasında yazdığım her projede bu projeden bir iz var.