Available for full-time and contract roles — Türkiye / remote
Python backends, data pipelines and applied ML. I also write Rust infrastructure for deterministic execution and Arrow-native processing. Maintainer of ProofFrame, Calybris Core and ReproCut.
Data and decision systems where the answer has to be reproducible — not just fast. Most of my work sits in one of three places: validating data before it reaches a model, turning model output into a decision, and proving afterwards what the system actually did.
Two of these are published packages you can install today; the rest are read-only portfolio work.
ProofFrame — Arrow-native data quality, Rust + Python
Contract validation for PyArrow, Pandas, Polars, CSV and Parquet that scans record batches without turning rows into Python objects.
- Exact uniqueness, cross-column rules and keyed diffs under an explicit memory budget.
- Out-of-core spill so a large dataset does not become an OOM kill.
- BLAKE3 dataset fingerprints and Ed25519-signed receipts, so a run can be identified and re-checked later.
- Fails closed: an exceeded limit or an ambiguous contract is an error, never an approximate answer.
pip install proofframeCalybris Core — deterministic decision kernel, Rust + Python
Give it a catalog, a policy and a request; get one decision plus an audit bundle that replays to the same answer.
- Integer-only kernel, no floating point: ~115 ns per decision on the documented
22-model synthetic workload, reproducible via
cargo bench. - Hash-chained WAL with HMAC and an external head anchor that detects even a clean suffix truncation.
- Concurrent budget ledger holding
remaining + reserved + committed == initial, checked with Loom for interleavings and Miri for undefined behaviour. #![forbid(unsafe_code)], CI across Linux/macOS/Windows and Python 3.10–3.14.
cargo add calybris-core| Project | Stack | Problem | What it does |
|---|---|---|---|
| Aegis | Python XGBoost SHAP DoWhy DiCE Litestar |
A churn probability is not an action. | Calibrated risk, uplift/CATE, counterfactuals and expected-value logic behind an API and an operations dashboard. |
| Criteo Uplift Benchmark | Python scikit-learn causal ML |
Uplift papers rarely compare methods on equal footing. | S-, T-, X- and DR-Learner plus Causal Forest on the Criteo dataset, scored with AUUC/Qini against a response-model baseline. |
| ReproCut | Rust ddmin SQLite AST |
A minimal reproduction is expensive to produce by hand. | Removes files, dependencies and syntax nodes while the original failure still reproduces, verifying each candidate in a fresh snapshot. |
| Scrape Quality Pipeline | Python asyncio Pydantic v2 Pandera |
Scrapers fail silently when a selector or schema shifts. | Config-driven async scraping with typed records, schema validation and Parquet/CSV output. |
| Churn & Retention Report | Python scikit-learn SHAP Typst |
Stakeholders need a document, not a notebook. | Calibrated scoring and SHAP drivers rendered into a reviewed PDF report. |
| Area | What I bring |
|---|---|
| Python backend | FastAPI/Litestar services, Pydantic v2 boundaries, async I/O, PostgreSQL and Redis. |
| Data engineering | Arrow, Polars, DuckDB and Parquet pipelines with schema contracts and bounded memory. |
| Applied ML | Calibration, SHAP, uplift/CATE, counterfactuals, and turning scores into ranked actions. |
| Rust systems | Tokio/Axum services, concurrency hardening, and verification with Loom, Miri and proptest. |
| Reliability work | CI/CD repair, test and benchmark infrastructure, profiling, release engineering. |
Languages : Python (3.10–3.14), Rust (1.85+), SQL, TypeScript
Backend : FastAPI, Litestar, Tokio, Axum, Pydantic v2, REST, OpenAPI
Data : Apache Arrow, Polars, DuckDB, Parquet, PostgreSQL, SQLite, Redis
ML : scikit-learn, XGBoost, LightGBM, SHAP, DoWhy, DiCE, uplift/CATE
Testing : pytest, Pandera, proptest, Loom, Miri, fuzzing, Ruff, MyPy
Delivery : Linux, Docker, GitHub Actions, OpenTelemetry, Prometheus, Grafana
Open to full-time and contract roles in Python backend, data engineering and applied ML — remote, or on-site in Türkiye.


