Emirhan Karatepe

Uygulamalı ML ve Veri Mühendisliği · İstanbul

Çoğu portföy işleri işverene ya da tarihe göre dizer; ikisi de neye güvenebileceğinizi söylemez. Bu sayfa, her iddianın arkasındaki kanıtın gücüne göre dizili.

En üstte üretimde çalışan ve ölçülmüş olanlar var, en altta daha yolun başındakiler. Her madde, kendi iddiasının nerede bittiğini de söylüyor.

Aşağı

Kesinliğe göre sıralı

Ölçüldü · canlıdaÜretimde çalışıyor, arkasında durabileceğim bir kanıtla
A101 Yeni Mağazacılık A.Ş. · yürüttüm · Ağustos 2026 – Halen

İç denetim biriminin sürekli sorduğu soruları doğal dilde yanıtlayan LLM ajanını canlıya aldım.

Şirketin kendi ajan platformu üzerine LangGraph, FastAPI, PostgreSQL ile kurdum. Ajan üretim verisine serbest sorgu üreterek değil, önceden tanımlı ve salt-okunur bir SQL araç kümesiyle ulaşıyor; verdiği her rakam insana gitmeden önce bağımsız bir sorguyla yeniden doğrulanıyor. Kendi geri bildirimini toplayıp değerlendiriyor, bağlı olduğu zamanlanmış işleri de izliyor — yani yayına girdiği yerde donup kalmıyor. Altında, kendi başına ayrı bir proje olan hafıza servisi var.

LangGraph · FastAPI · PostgreSQL
Sınırı

Denetçinin yerini almıyor. Kendinden emin biçimde yanlış cevap veren bir ajan, hiç olmamasından kötüdür; o yüzden tasarımı modelin yanılacağını baştan kabul edip her rakamı kontrol ediyor. Ortadan kaldırdığı şey, soruyla güvenilir cevap arasındaki mesafe.

A101 Yeni Mağazacılık A.Ş. · yürüttüm · Ağustos 2026 – Halen

Teslimat slotlarındaki elle konmuş sabit kotayı, talep dağılımından hesaplanan bir quantile ile değiştirdim.

Python, LightGBM, PostgreSQL ile uçtan uca kurdum: talep dağılımı modeli, onu her gece çalıştıran iş, ve operasyonla gelir tarafı için iki canlı pano. İşin can alıcı yeri quantile seçimi — boş kalan bir slotun maliyetiyle geri çevrilen siparişin maliyeti aynı değil, o yüzden doğru kota beklenen talebe eşit çıkmıyor.

Python · LightGBM · PostgreSQL
Sınırı

Burada mesele kapasiteyi doğru boyutlandırmak; kimin daha iyi tahmin ettiği yarışı değil. Tahminin, doğru quantile’ı yerine oturtacak kadar iyi olması yetiyor — daha isabetli bir nokta tahmini kotayı ille de değiştirmezdi.

Emlakjet A.Ş. · yürüttüm · Temmuz 2025 – Ağustos 2026

Türkçe yazılmış emlak sorgularını yapılandırılmış aramalara çeviren chatbot’un geliştirilmesini yürüttüm.

4 mikroservis API’si üzerinde LLM araç çağırma, Python, function calling, PostgreSQL pg_trgm: konumları, ilan tiplerini ve 40+ süzgeci trigram bulanık eşleşmeyle çözüyor. Zor kısım Türkçe konum adlarıydı — çekim ekleri, birbirine benzeyen ilçe adları, aynı yerin altı ayrı yazımı. Konteynerlendi ve CI üzerinden dağıtıldı. Konut fiyat modelini çıkaran bitirme projesinin öbür yarısı.

Python · function calling · PostgreSQL pg_trgm
Sınırı

Yürüttüm ama tek başıma yapmadım: commit’lerin yaklaşık yarısı benim, ekip dört kişiydi. Konum çözümlemesi için test kümesi var, ancak bir sorgu kümesi üzerinde yayımlanmış doğruluk oranı yok — yani buradaki iddia yetenekle ilgili, kaliteyle değil.

Emlakjet A.Ş. · yürüttüm · Temmuz 2025 – Ağustos 2026

İlan fotoğraflarına yazılmış telefon numaralarını bulup bulanıklaştıran bir OCR hattı kurdum.

İlan görselleri üzerinde tespit, konumlandırma ve bulanıklaştırma; iletişimi platform dışına taşımak için kullanılan bir yolu kapatıyor. Üretimde çalıştı ve ben ayrılırken hâlâ çalışıyordu.

OCR
Sınırı

Ölçülmedi. Kalite kontrol ekibinin değerlendirmesi istikrarlı biçimde olumluydu, ama bu bir ekibin nitel geri bildirimi; metrik değil. Davranışın ne kadar yaygın olduğuna ya da hattın onu ne kesinlikte yakaladığına dair elimde rakam yok.

Emlakjet A.Ş. · katkı verdim · Temmuz 2025 – Ağustos 2026

BigQuery’yi besleyen üretim Airflow platformuna bir satış veri martı hattı ekledim.

Dönüşüm SQL’ini yazdım ve ambarın bağımlılık grafiğine bağladım; platformun sahibi olan veri mühendisliği ekibiyle birlikte. Apache Airflow, BigQuery, SQL.

Apache Airflow · BigQuery · SQL
Sınırı

Bu bir katkı, sahiplik değil. Platform benden yıllar önce kurulmuş ve bakımı başkasında. Bu satırı yazmadan önce depo geçmişine baktım — kendi CV’min eski bir taslağı burayı fazla iddialı anlatıyordu.

Ölçüldü · yayına girmediSayılar gerçek, ama iş laboratuvardan çıkmadı
Emlakjet A.Ş. · tek yazar · Temmuz 2025 – Ağustos 2026

İstanbul konut fiyatları için dört uzmanlı çok modlu bir model — 0.884 log R², XGBoost’a göre +6.1%.

PyTorch, DCN-v2, GRU, BERT, attention pooling ile kurdum. Dört uzman ağ birleşiyor: tablosal veriyi işleyen DCN-v2, üç yıllık makro ve mahalle fiyat serilerini okuyan bir GRU, ilan metnine bakan Türkçe BERT, ve 2 km yarıçaptaki ilgi noktalarını dikkatle havuzlayan bir katman. Her uzmanın payını öğrenilmiş bir kapı belirliyor. Galatasaray’daki bitirme projemin yarısı; öbür yarısı arama chatbot’u.

Aynı görevde, temel modellere karşı
modellog R²MAPE
Decision Tree0.71630.8%
Random Forest0.80225.0%
XGBoost0.83316.2%
4-expert gated fusion0.88419.0%
Her uzman tek başına
Tabular (DCN-v2)0.773
Text (BERT)0.656
POI (attention)0.530
Temporal (GRU)0.408
PyTorch · DCN-v2 · GRU · BERT · attention pooling
Sınırı

Bir mülakatçının bulacağı iki şey var, ben söyleyeyim. MAPE’de XGBoost hâlâ önde (16.2% vs 19.0%) — model R² ve mutlak hatada kazanıyor, göreli hatada kaybediyor. Ablation da kazancın büyük kısmını tablosal uzmanın taşıdığını gösteriyor; kalan üç modalitenin katkısı gerçek ama küçük. Üstelik hiç üretime çıkmadı: platformdaki canlı değerleme başka bir firmanın.

Hakem sürecindeGönderildi ve kabul edildi, henüz sunulmadı
Emlakjet A.Ş. · yürüttüm · Temmuz 2025 – Ağustos 2026

Oturum kimliği hiç tutulmayan bir tıklama akışından oturumları geri kurdum, sonra farklı birlikte-ziyaret graflarının neye yaradığını ölçtüm.

Kayıtta yalnızca ilan, tarayıcıya özgü bir kimlik ve zaman damgası var; oturum da yok, gezinme yolu da. Oturum sınırlarını üstel sönümlü bir modelle çıkardım; ardından ilan–ilan birlikte-ziyaret graflarını üç ayrı kenar ağırlığıyla kurup hem topluluk yapısı hem öneri kalitesi bakımından ölçtüm — dereceyi koruyan bir boş modele karşı. 45 days pencerede 449,774 ilan, 2,727,327 tıklama. Tıklama akışı bildirisi buradan çıktı; aynı oturumlandırma hattı davranış panosunun da temeli.

Hangi kenar ağırlığı neye yarıyor
weightingmodularityRecall@20NDCG@20
count0.9850.1130.063
jaccard0.8910.4080.231
PMI0.8300.5080.285
Python · graph analysis
Sınırı

Ortada bir kazanan yok, bir ödünleşim var. Sayım ağırlığı en derli toplu toplulukları çıkarıyor ama öneri için işe yaramıyor; PMI’da tam tersi oluyor. Bir kayıt kesiti üzerinde çevrimdışı bir çalışma — canlıya alınmış bir öneri sistemi değil.

Emlakjet A.Ş. · yürüttüm · Temmuz 2025 – Ağustos 2026

Ham eylem kaydını okunabilir kullanıcı davranışına çeviren hattı ve panoyu kurdum; bir de onu çizmek için yeni bir kenar demetleme düzeni.

Hexagonal mimaride bir Spring Boot 3.5, Java 24, PostgreSQL, Elasticsearch, D3, deck.gl, Leaflet servisi; sanal iş parçacıkları ve iki katmanlı önbellekle bir PostgreSQL eylem kaydını Elasticsearch ilan indeksine bağlıyor. Yedi eşgüdümlü görünüm var: mekânsal ısı haritaları, 3B altıgen talep yüzeyi, il bazlı renk haritaları, dönüşüm hunileri ve iki kenar demetlenmiş köken–varış grafı. Yöntem katkısı, coğrafi kalkış ve varış açılarını sabit koordinatlarda koruyan uç-çıpalı bir kenar demetleme varyantı. Görselleştirme bildirisi buradan çıktı; oturumlandırma tarafı oturum geri kurma çalışmasından geliyor.

Spring Boot 3.5 · Java 24 · PostgreSQL · Elasticsearch · D3 · deck.gl · Leaflet
Sınırı

under 200 ms çizim süresi ≤ 200 city pairs/day ölçeğinde geçerli — makale, bin kenarın ötesinde başka bir algoritmanın doğru seçim olduğunu açıkça yazıyor. Kurum içi bir analist aracı; dört kullanım senaryosu da gösterim amaçlı, analist çıktısını ölçen bir çalışma değil.

Yapıldı, ölçülmediGerçek iş, ama altına imza atacağım bir sayım yok
A101 Yeni Mağazacılık A.Ş. · katkı verdim · Ağustos 2026 – Halen

Mağaza konumu ve hizmet poligonu eniyilemesi üzerine yürüyen Ar-Ge projesini Sanayi ve Teknoloji Bakanlığı denetim komitesine sundum.

Sistem talebi XGBoost, LightGBM, p-median / p-center ile puanlıyor; çıkan skor, mağazaların ve hizmet poligonlarının nereye oturacağını seçen kapasiteli konum–atama modellerine giriyor.

XGBoost · LightGBM · p-median / p-center
Sınırı

Projeye katkı verdim ve sunumunu yaptım; tasarımı bana ait değil. Denetim de yapılan işin anlatıldığı bir toplantıydı, bir sonuç değil — ölçülmüş çıktılar ekibin.

Emlakjet A.Ş. · yürüttüm · Temmuz 2025 – Ağustos 2026

Görsel ve metin sinyallerini öğrenilmiş ağırlıklarla birleştiren bir mükerrer ilan tespiti kurdum.

Kapak görseli ve öznitelik gömmeleri üzerinde çok sinyalli bir benzerlik skoru, buna görsel–başlık örtüşmesi ekleniyor; ağırlıklar öğrenilmiş ve kural tabanlı bileşenlerin melezi. Yanına da istendiğinde verilen bir ilanın mükerrerlerini döndüren bir ajan. Python, scikit-learn, embeddings.

Python · scikit-learn · embeddings
Sınırı

Etiketli bir küme üzerinde yayımlanmış kesinlik ya da duyarlılık değerim yok. O yüzden neyi birleştirdiğini anlatıyorum, ne kadar iyi skorladığını değil.

Devam ediyorBaşladı, tutmayabilir
A101 Yeni Mağazacılık A.Ş. · yürüttüm · Ağustos 2026 – Halen

Çabuk bozulan meyve-sebzede stok ve ikmal politikası üzerine bir TÜBİTAK 2209-B projesi yürütüyorum.

Bilerek aşamalı ilerliyorum: önce tedarikçi yönetimli stok ve gradyan artırmalı talep tahmini, pekiştirmeli öğrenme katmanı ondan sonra. Akademik danışmanlıkla.

reinforcement learning · gradient boosting
Sınırı

Henüz devam ediyor. Ölçülmüş bir sonuç yok; olmadan da bir sonuçtan söz etmeyeceğim.

A101 Yeni Mağazacılık A.Ş. · yürüttüm · Ağustos 2026 – Halen

Şirketin kendi ajan çatısı için hafıza servisini yürütüyorum.

Platformdaki ajanların üzerine kurulduğu ortak durum katmanı; her ajan hatırlamayı kendi başına çözmek zorunda kalmasın diye. İç denetim ajanının da altındaki zemin, ve kendi başına ayrı bir proje.

agent framework
Sınırı

Bitmedi, devam ediyor. Raporlayabileceğim ölçülmüş bir sonuç yok — dolayısıyla burada anlattığım şey kapsam ve sorumluluk; çıktı değil.

Emlakjet A.Ş. · yürüttüm · Temmuz 2025 – Ağustos 2026

Uçtan uca bir churn tahmin hattı kurmaya giriştim; bir hattın nasıl kurulduğunu asıl orada öğrendim.

Ham kaynaktan özniteliklere, oradan eğitilmiş modele kadar kurdum ve üstünde denemeler yaptım. Hattın kendisi en az tahminin kendisi kadar meseleydi.

Python
Sınırı

Bitmedi — yine de buraya koyuyorum. İşveren değişikliğiyle yarıda kaldı; ölçülmüş bir sonuca varmadı, hiçbir parçası yayına girmedi. Kesinliğe göre bir sıralama, ancak en alt basamağı gerçekse dürüst olur.

Yayınlar

Emlakjet’teki işlerden iki bildiri çıktı; ikisinde de ilk yazarım, ikisi de ASYU 2026’da sunulmak üzere kabul edildi.

Implicit Session Reconstruction and Co-Visitation Graph Analysis in Large-Scale Listing Clickstreams

E. Karatepe, M. Sözdinler, Y. Doksanbir, G. Akpınar, E. Aktan, A. H. Işık

ASYU 2026 — Innovations in Intelligent Systems and Applications · Özyeğin University, Istanbul · 9–11 September 2026

kabul edildi · sunulacak

kaynakoturum geri kurma çalışması

Visualizing User Behavior on Real-Estate Platforms: A Case Study in Sessionization, Spatial Aggregation, and Self-Organizing Edge Bundling

E. Karatepe, M. Sözdinler, Y. Doksanbir, E. Aktan, G. Akpınar, A. H. Işık

ASYU 2026 — Innovations in Intelligent Systems and Applications · Özyeğin University, Istanbul · 9–11 September 2026

kabul edildi · sunulacak

kaynakdavranış panosu

Sunumlar

Karşısında itiraz edebilecek bir dinleyiciye anlatılmış işler.

ASYU 2026 — Innovations in Intelligent Systems and Applications

Özyeğin University, Istanbul · 9–11 September 2026

İki bildiri, ilk yazar olarak sunulacak.

yaklaşan

Ministry of Industry and Technology — R&D centre audit committee

Istanbul · August 2026

Mağaza konumu ve hizmet poligonu eniyilemesi üzerine Ar-Ge merkezi projesini denetim komitesine sundum.

Bunu sunabilmemin sebebi, bir yıl önce aynı denetime önceki işverenimde hiçbir şey sunmadan katılmış olmam — komitenin ne sorduğunu ve neyi kanıt saydığını öğrenmeye yetti.

Destekler

Rekabetle kazanılmış araştırma desteği.

TÜBİTAK 2209-B

2026 → · devam ediyor

TÜBİTAK’ın sanayi odaklı lisans araştırma programı. Çabuk bozulan ürünlerde stok politikası projesi için, akademik danışmanlıkla.

Eğitim

Galatasaray University Bilgisayar Mühendisliği Yüksek Lisans

2026 – 2028 · devam ediyor

2026’da başladım; tam zamanlı çalışmayla birlikte yürütüyorum.

Galatasaray University Bilgisayar Mühendisliği Lisans

2019 – 2026 · GPA 3.01 / 4.00

Bitirme projesi: İstanbul konut fiyat tahmini için çok modlu bir derin öğrenme modeli ve üstüne kurulan doğal dilli emlak arama chatbot'u.

Yaşar Acar Science High School Fen Lisesi

2015 – 2019

Sınavla öğrenci alan fen programı; matematik ve fizik ağırlıklı.

Diller

  • Türkçe ana dil
  • İngilizce profesyonel
  • Fransızca orta

Bu sayfa İngilizce ve Türkçe yayımlanıyor; Fransızcası da planda.

İletişim

Bana en hızlı LinkedIn üzerinden ulaşırsınız.

CV’yi isteyene gönderiyorum. Referanslar bölümü planda.