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.
Filter by area
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.
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.
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
model
log R²
MAPE
Decision Tree
0.716
30.8%
Random Forest
0.802
25.0%
XGBoost
0.833
16.2%
4-expert gated fusion
0.884
19.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.
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
weighting
modularity
Recall@20
NDCG@20
count
0.985
0.113
0.063
jaccard
0.891
0.408
0.231
PMI
0.830
0.508
0.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.
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.
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.
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.
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.
Nothing here matches that filter yet.
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
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
Turkishnative
Englishprofessional
Frenchintermediate
This page is published in English and Turkish; a French edition is planned.