Linguistics graduate from Boğaziçi University, now building at the intersection of natural language processing, machine learning, and algorithmic trading.
// work
From fine-tuning transformers to live trading systems - everything I've shipped.
Self-hosted investment research system running fully on local hardware. A three-layer screener (quant momentum, then a tool-calling web-search gather, then a deep thesis pass) covers large-cap, Russell 2000, and crypto, backed by a living paper portfolio with stop-loss exits and inverse-volatility sizing. It grades itself: a calibration job measures each conviction tier's forward return against a passive benchmark. Research only by design - it never places a trade, broker keys stay empty.
Cross-lingual NER transfer to Turkish, German, and Arabic with zero target-language labels. XLM-RoBERTa backbone with contrastive alignment (InfoNCE on real OPUS-100 parallel sentences) plus CoSDA-ML code-switch augmentation. A 5-config ablation, multi-seed runs, and a translate-train baseline test the method rather than assume it - the ablation refutes its own thesis: plain full fine-tuning beats the contrastive pipeline on German and Arabic. Reported as found, not softened.
Three-way benchmark comparing English DistilBERT (zero-shot), mBERT (multilingual), and BERTurk on Turkish sentiment analysis. Proves language-specialized models decisively outperform multilingual ones - BERTurk's morphological awareness handles agglutinative structures that general tokenizers can't. Interactive live demo lets you test all three models in real time.
Fine-tuned DistilBERT on the IBM Argument Quality dataset to classify debate arguments as PRO or CON. Explores stance ambiguity - how identical statements can support opposing positions depending on topic context. Trained on 30,000 annotated examples with a perfectly balanced dataset.
Fine-tuned DistilBERT on WikiANN English (20k sentences) for PER / ORG / LOC entity detection. Manually reviewed 80k test tokens - found 74% of errors were misclassifications rather than missed detections, mostly LOC/ORG confusion on ambiguous geopolitical names. Some model predictions outperformed original labels.
AI-powered exam prep tool for the Turkish ALES university entrance exam. Pulls from a database of 1,400+ real past questions to generate personalized practice sets and step-by-step solutions using Gemini 2.5 Flash. Includes study formula cards ranked by historical frequency.
ML regression pipeline on the Ames Housing Dataset (80 variables, 3k properties). Compared Linear Regression, Ridge, Random Forest, and XGBoost after feature engineering (TotalSF, TotalBaths, HouseAge) and log target transformation. XGBoost achieved R² 0.944.
Analyzed 540k transactions from a UK wholesale gift retailer. EDA, Pareto analysis (top 26% of customers → 80% of revenue), RFM segmentation into Champions / At-Risk / Lost cohorts, and a cohort retention heatmap revealing 20.6% month-1 retention and 33% churn.
Professional TradingView indicator suite for confluence zone detection. Auto-detects the trading mode (intraday / hourly / macro) and loads the relevant levels - ARMAS bands, VWAP, FVGs, market profile, open interest signal matrix, CVD divergence, session tracking, and a full scoring engine that ranks zones by confluence strength.
Fuses the Confluence Array level engine with a market-structure event engine in one overlay, so that where the levels sit and when a setup fires gate each other. BOS / CHoCH, liquidity sweeps, SFP, and session-CVD divergence are scored and graded A- / A / A+, then filtered by a context gate built from zone bias, ARMAS stretch, and multi-timeframe alignment.
Hybrid RL agent (MaskablePPO) learning trade timing for the ARMAS mean-reversion strategy on SP500 futures. Iterated through 6 reward designs to escape degenerate policies. Key finding: signal edge (+0.056% per touch) is smaller than commission friction (~0.2%), making ML application premature. Documented as a rigorous negative result.
Mean-reversion Expert Advisor for MetaTrader 5 evolved over 18 iterations from a Python backtest to a live production system. Uses EWM bands with RSI, ATR, and slope filters. Optuna for hyperparameter optimization and ML training data generated from live trade history.
Full-featured trading journal built with Python and Streamlit. Multi-journal support, MT5 report import, pre/post/position analysis with screenshot upload, equity curve, calendar heatmap, analytics by session/hour/day, Hall of Fame, and PDF export. Used daily in real trading.
Tracks unvisited daily Points of Control as clean dashed levels. No histogram, no boxes - only levels that still have magnetic pull on price. Uses a close-weighted triangular volume distribution so the POC lands closer to where price repeatedly settled, not just where it briefly spiked. Auto-removes filled levels.
Splits Cumulative Volume Delta into independent Asian, London, and NY session streams - each resetting at session open. Detects all four divergence types (regular and hidden) between price and order flow, drawing lines between the exact pivots that form each signal on both the CVD pane and the main price chart.
Open-source replication of TradingView's native Anchored Volume Profile within Pine Script constraints. Uses even TPO distribution across each bar's high-low range and the standard dual-bin Value Area expansion algorithm matching the original Steidlmayer methodology. Anchored to the previous complete weekly range.
Detects swing failure patterns - bars that wick past a prior swing high or low and close back inside, sweeping the liquidity sitting at that level. Features multi-level sweep detection (SFP / SFP+ / SFP++), ATR-based quality filters, HTF trend filter, session window filter, and automatic retest tracking after each signal.
Maps market structure as Break of Structure (continuation) and Change of Character (reversal) from a single break engine and trend state, on two layers: a bold swing skeleton with HH/HL/LH/LL and trailing levels, plus a faded internal layer for the legs inside each swing. Unbroken swing highs and lows project as liquidity pools that clear the moment price wicks through them.
Emergency service finder for İzmir with 4,600+ verified entries. "Open Now" filtering checks current time against business hours. GPS-based distance sorting, mobile-friendly map, and quick-action buttons for WhatsApp, calling, and Google Maps directions.
Marketing site for the Confluence Array indicator. Galaxy canvas animation with twinkling stars and nebula glows, animated typing hero, Pleiades star cluster SVG logo (hand-coded), pricing toggle, live preview integration, and full SEO setup with custom domain on GitHub Pages.
// about
Linguistics graduate from Boğaziçi University, currently working as an AI/LLM evaluator at Yandex with a focus on NLP and machine learning engineering.
I build at the intersection of language, machine learning, and financial markets. My NLP work spans transformer fine-tuning, multilingual benchmarking, and evaluation methodology. My trading projects range from Pine Script indicators to reinforcement learning agents - including documented negative results, because honest engineering matters.
I care about shipping things that actually work - tools I'd use myself, results I'd stake a claim on. No bloat, no hype.
ALES Quantitative 70.627 · YDS English 98.75
// contact
Interested in working together, or just want to talk markets and models?