Emirhan Karatepe

Applied ML & Data Engineering · Istanbul, Turkey

Most portfolios order work by employer or by date. Neither tells you what to trust. This one is ordered by the strength of the evidence behind each claim.

Measured and live at the top; started-and-may-not-work at the bottom. Every entry says where its claim stops.

Ordered by certainty

Measured · liveRunning in production, with evidence I can defend
A101 Yeni Mağazacılık A.Ş. · led · August 2026 – Present

Shipped an internal-audit LLM agent that answers the audit department's standing questions in natural language.

Built on the company's in-house agent platform with LangGraph, FastAPI, PostgreSQL. It reaches production data through a fixed set of read-only SQL tools rather than free-form query generation, and every figure it reports is re-verified by an independent query before it reaches a person. It also collects and analyses its own feedback, and analyses the scheduled jobs it depends on, so its behaviour improves after ship rather than freezing at it.

LangGraph · FastAPI · PostgreSQL
Still not

A replacement for an auditor. An agent that answers confidently and wrongly is worse than no agent — so the design assumes the model will be wrong and checks it. What it removes is the distance between a question and a trustworthy answer.

See alsothe memory service

A101 Yeni Mağazacılık A.Ş. · led · August 2026 – Present

Replaced a hand-set constant delivery-slot quota with a demand forecast sized by the newsvendor quantile.

Took it end to end with Python, LightGBM, PostgreSQL: the demand-distribution model, the nightly job that runs it, and two live dashboards for operations and revenue. The quantile choice is the interesting part — the cost of an unused slot and the cost of a refused order are not symmetric, so the right quota is not the expected demand.

Python · LightGBM · PostgreSQL
Still not

This is a capacity-sizing decision, not a demand-prediction contest. The forecast only has to be good enough to place a quantile; a better point forecast would not necessarily change the quota.

Emlakjet A.Ş. · led · July 2025 – August 2026

Led a chatbot that turns natural-language Turkish property queries into structured searches.

LLM tool-calling over 4 microservice APIs with Python, function calling, PostgreSQL pg_trgm, resolving locations, listing types and 40+ filters by trigram fuzzy matching. Turkish location names are the hard part — morphology, ambiguous district names, and the same place written six ways. Containerised and deployed through CI.

Python · function calling · PostgreSQL pg_trgm
Still not

Led, not built alone — I wrote about half the commits and it was a team of four. There is a test suite for location resolution but no published accuracy figure over a query set, so this is a claim about capability, not quality.

See alsothe house-price model

Emlakjet A.Ş. · led · July 2025 – August 2026

Built an OCR pipeline that finds and blurs phone numbers written into listing photographs.

Detection, localisation and blurring across listing imagery, closing a route people used to move contact off the platform. It ran in production and was still running when I left.

OCR
Still not

Measured. The quality-control team's assessment of it was consistently positive — qualitative feedback from a team, not a metric. I have no figure for how common the behaviour was or how precisely the pipeline caught it.

Emlakjet A.Ş. · contributor · July 2025 – August 2026

Contributed a sales data-mart pipeline to a production Airflow platform feeding BigQuery.

Wrote the transform SQL and wired it into the warehouse's dependency graph, alongside the data-engineering team who own the platform. Apache Airflow, BigQuery, SQL.

Apache Airflow · BigQuery · SQL
Still not

A contribution, not ownership. The platform predates me by years and is maintained by someone else — I checked the repository history before writing this line, and an earlier draft of my own CV overstated it.

Measured · not deployedReal numbers, from work that stayed in the lab
Emlakjet A.Ş. · sole author · July 2025 – August 2026

A four-expert multimodal model for Istanbul house prices, reaching 0.884 log R² — +6.1% over an XGBoost baseline.

Built in PyTorch, DCN-v2, GRU, BERT, attention pooling. Four expert networks — tabular, a GRU over three years of macro and neighbourhood price series, Turkish BERT over listing text, and attention pooling over points of interest within 2 km — are combined by a learned gate per expert. Half of my senior project at Galatasaray University; the other half is the search chatbot below.

Against baselines, on the same task
modellog R²MAPE
Decision Tree0.71630.8%
Random Forest0.80225.0%
XGBoost0.83316.2%
4-expert gated fusion0.88419.0%
Each expert alone
Tabular (DCN-v2)0.773
Text (BERT)0.656
POI (attention)0.530
Temporal (GRU)0.408
PyTorch · DCN-v2 · GRU · BERT · attention pooling
Still not

Two things an interviewer would find, so here they are first. XGBoost still beats it on MAPE (16.2% vs 19.0%) — the model wins on R² and absolute error and loses on relative error. And the ablation shows the tabular expert carries almost all of it: the other three modalities add a real but modest margin. It was also never in production — the live valuation on the platform is a third party's.

See alsothe search chatbot

Peer review pendingSubmitted, not yet accepted
Emlakjet A.Ş. · led · July 2025 – August 2026

Reconstructed user sessions from a clickstream that has no session identifiers, then measured what different co-visitation graphs are good for.

The log carries only a listing, a browser-scoped identifier and a timestamp — no sessions, no navigation paths. An exponential-decay model infers session boundaries; item–item co-visitation graphs are then built under three edge weightings and evaluated on both community structure and recommendation quality, against a degree-preserving null model. Over a 45 days window: 2,727,327 click events across 449,774 listings.

What each edge weighting is good for
weightingmodularityRecall@20NDCG@20
count0.9850.1130.063
jaccard0.8910.4080.231
PMI0.8300.5080.285
Python · graph analysis
Still not

The finding is a trade-off, not a winner. Count weighting gives the most cohesive communities and is nearly useless for recommendation; PMI is the best recommender and the least cohesive. Offline research on a log extract — not a deployed recommender.

See alsothe clickstream paper · the behaviour dashboard

Emlakjet A.Ş. · led · July 2025 – August 2026

Built the pipeline and dashboard that turn a raw action log into readable user behaviour — and a new edge-bundling layout to draw it.

A Spring Boot 3.5, Java 24, PostgreSQL, Elasticsearch, D3, deck.gl, Leaflet service in a hexagonal layout, with virtual threads and two cache layers, joining a PostgreSQL action log to an Elasticsearch listing index. Seven coordinated views: spatial heatmaps, a 3D hexbin demand surface, choropleths, conversion funnels, and two edge-bundled origin–destination graphs. The method contribution is an endpoint-anchored variant of force-directed edge bundling that keeps geographic departure and arrival angles at fixed coordinates.

Spring Boot 3.5 · Java 24 · PostgreSQL · Elasticsearch · D3 · deck.gl · Leaflet
Still not

The under 200 ms render holds at ≤ 200 city pairs/day — the paper says plainly that beyond about a thousand edges a different algorithm is the right choice. An internal analyst tool, and the four use cases are demonstrations, not a measured study of analyst outcomes.

See alsothe visualization paper · the session-reconstruction study

Built, unmeasuredReal work, no number I would put my name behind
A101 Yeni Mağazacılık A.Ş. · contributor · August 2026 – Present

Presented the R&D-centre project on store location and service-polygon optimisation to the Ministry of Industry and Technology audit committee.

The system scores demand with XGBoost, LightGBM, p-median / p-center and feeds it into capacitated location–allocation models to choose where stores and their service polygons should sit.

XGBoost · LightGBM · p-median / p-center
Still not

I contributed to this project and presented it; I did not design it alone. The audit was a presentation of work, not a result — the measured outcomes belong to the team.

Emlakjet A.Ş. · led · July 2025 – August 2026

Built a duplicate-listing detector combining image and text signals with learned feature weighting.

A multi-signal similarity score over cover-image and feature embeddings with image–title overlap, weighted by a hybrid of learned and rule-based components, plus an agent that returns the duplicates of a given listing on request. Python, scikit-learn, embeddings.

Python · scikit-learn · embeddings
Still not

I do not have a published precision or recall figure on a labelled set, so I describe what it combines rather than how well it scores.

In progressStarted, and it may not work
A101 Yeni Mağazacılık A.Ş. · led · August 2026 – Present

Leading a TÜBİTAK 2209-B research project on stocking and replenishment policy for perishable produce.

Staged deliberately: vendor-managed inventory and gradient-boosted demand forecasting first, a reinforcement-learning policy layer after — with academic supervision.

reinforcement learning · gradient boosting
Still not

In progress. There is no measured result yet, and I will not describe one until there is.

A101 Yeni Mağazacılık A.Ş. · led · August 2026 – Present

Leading the memory service for the company's in-house agent framework.

The shared state layer the platform's agents build on, so each one does not solve recall for itself. It is the substrate under the audit agent above, and a project in its own right.

agent framework
Still not

Finished. It is in progress and I have no measured outcome to report — so this is a description of scope and responsibility, not of results.

See alsothe internal-audit agent

Emlakjet A.Ş. · led · July 2025 – August 2026

Started a churn-prediction pipeline end to end, and learned how one is built.

Raw source through features to a trained model, with experiments run on top. The pipeline was as much the point as the prediction.

Python
Still not

Finished — and I am listing it anyway. It was cut short by the move between employers, reached no measured result, and nothing shipped. An ordering by certainty is only honest if the bottom of it is real.

Publications

Two papers out of the Emlakjet work, both first-authored, both accepted for presentation at ASYU 2026.

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

accepted · to be presented

See alsothe session-reconstruction study

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

accepted · to be presented

See alsothe behaviour dashboard

Talks

Work presented to an audience that could push back on it.

ASYU 2026 — Innovations in Intelligent Systems and Applications

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

Two papers, presented as first author.

upcoming

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

Istanbul · August 2026

Presented the R&D-centre project on store location and service-polygon optimisation to the audit committee.

I could present this because I had sat through the same audit a year earlier, at a previous employer, without presenting anything — long enough to learn what the committee asks and what counts as evidence to it.

Grants

Competitively awarded research funding.

TÜBİTAK 2209-B

2026 → · in progress

Industry-oriented undergraduate research programme of the Scientific and Technological Research Council of Turkey. Awarded for the perishable-produce stocking-policy project, with academic supervision.

Education

Galatasaray University M.Sc. in Computer Engineering

2026 – 2028 · in progress

Started 2026, alongside full-time work.

Galatasaray University B.Sc. in Computer Engineering

2019 – 2026 · GPA 3.01 / 4.00

Senior project: a multimodal deep-learning model for Istanbul house-price prediction, and a natural-language property-search chatbot built on it.

Yaşar Acar Science High School Science High School

2015 – 2019

A selective-entry science track — mathematics and physics heavy.

Withdrawn

A page ordered by evidence has to say what happened when the evidence went the other way. These claims were on my own CV, or about to be. Each was checked against the repository, the paper or the data it came from, and each failed that check — so it was withdrawn.

A product-embedding project, described as designing a system over the full catalogue.

2026-08-20

Withdrawn. The project’s core assumption turned out to be false — the infrastructure it was meant to introduce already existed, and the layer that would have made it novel was never built. The project is parked and the bullet is off the CV.

“Owned the Airflow estate — every production pipeline.”

2026-08-29

Withdrawn. The repository history says 7 of 786 commits are mine and the platform is maintained by someone else. What is true is a contribution: a sales data-mart pipeline, wired into an estate I did not own.

The senior project described as the search chatbot alone.

2026-08-29

Corrected. It was one project with two halves — the multimodal price model and the chatbot built on top of it. Naming only the second one understated the work and misdescribed it at the same time.

“Sole author” of the search pipeline.

2026-08-29

Corrected to led. About half the commits are mine and it was a team of four. Leading it is a real claim; doing it alone was not.

Languages

  • Turkish native
  • English professional
  • French intermediate

This page is published in English and Turkish; a French edition is planned.

Contact

The fastest way to reach me is LinkedIn.

A CV is available on request. A references section is planned.