Cezar Tocaciu
I build complete systems on my own, and I keep track of which parts of them I can actually trust.
Selected work
Eight systems, and what pins each one
Each entry says what stands behind it, and the colour says who did the checking. Proven and validated mean a machine did — a test suite that fails when the behaviour breaks, or an out-of-sample run built to kill the result. Merged means a person did: a maintainer reviewed the work and took it. In use means the world did. In progress means nobody has yet: it is still being built.
- kira-mcpMCP server that lets any AI assistant search Romanian rentals live, in every townProven
- backtest-coronerAgent skill and CLI that audits a trading backtest before money touches itTested
- KiraRental aggregator for Romania, with the filters the listing sites don't haveProven
- Escape With Your FriendsFour-player co-op survival game in Unity — I direct and playtest, coding agents write the C#In progress
- TradingBotOpening-range breakout on US30, filtered by a calibrated ML modelValidated
- Unlost in TranslationOpen-source AI translator by Radu Marias — I contribute the architecture workMerged
- RankUpChrome extension that parses CS2 demos in the browser to map opponents' positionsProven
- ShowerConfigDesktop configurator that turns a shower-cabin sale into a priced PDF quoteIn use
Judgement
What I threw out
The decisions I would want to be asked about.
A 63% win rate
TradingBotA one-to-one variant of the trade filter beat the shipped configuration on the number everyone looks at first. Its bootstrapped confidence interval for expectancy included zero, and one walk-forward fold came out negative. The two-to-one setup, with the worse win rate, held its edge in every fold. The prettier number lost.
A model for the hard part
KiraReading heating and parking out of messy Romanian ad text is the part of the rental aggregator worth training a model on. It runs on regex instead: auditable when a listing comes out wrong, free per listing, and it works offline. The more impressive choice was the worse one.
A distance for every listing
kira-mcpAgencies often leave a listing's map pin on the city centre, so a flat across town shows up as five minutes from everything. Guessing a location for every ad would make the results look complete. Instead the neighbourhood named in the title overrides the pin, and an ad that still cannot be placed is listed last with no distance at all. A gap the user can see beats a number that is wrong.
Unreal Engine 5
Escape With Your FriendsIt was the engine everyone expected, and it lost on a property nobody puts in a comparison table: its Blueprints and assets are binary. In a project where coding agents write the code from a terminal, binary files are a blind spot the size of half the game. Unity keeps scenes and data as text, so every change is a diff someone can read and review.
Generated serializers
Unlost in TranslationThe compiler plugin that writes serialization code for you would not cooperate with Compose Multiplatform on WebAssembly. Writing those serializers by hand was the dull way through, and it was what unblocked the browser build entirely.
Stack
What I reach for
Graded the same way the projects are, because a list that claims everything claims nothing.
- Reach for these without thinking, and can take them apart in an interview.
- Python
- FastAPI
- SQLAlchemy
- pytest
- pandas
- NumPy
- scikit-learn
- XGBoost
- SQL
- regex
- web scraping
- Git
- Shipped something with each of these, and would need to look things up.
- Java
- Swing
- MySQL
- SQLite
- TypeScript
- React
- Tailwind
- C++
- MetaTrader 5 API
- CustomTkinter
- LightGBM
- Optuna
- MCP servers
- Real work in them — the translation app next to its maintainer, the game with coding agents. I can explain how those projects are built; I would not call it fluency.
- Kotlin
- Kotlin Multiplatform
- Compose Multiplatform
- Ktor
- Unity
- C#
- FishNet
- Agents write a lot of the code. Review, tests, and being explicit about what has not been checked are what make that defensible.
- Claude Code
- agent skills & hooks
- code review
- tests as the gate
About
Cluj-Napoca, fourth-year computer science
Computer science at the Technical University of Cluj-Napoca, now in my fourth year. Most of what I know came from finishing things: a rental aggregator that reads facts out of badly written Romanian ad text, a trading filter that had to survive its own validation before I would run it, a translation app I helped restructure until it also ran in a browser, and a four-player game where the agents write the code and my job is to decide whether it is any fun.
The work is mostly Python, backend-shaped: data pipelines, typed APIs, model training that is honest about what it does not know. I write the tests first when the answer matters, and I write down which parts are still unproven when it does not.
A lot of the typing is done by coding agents now. That changes what the job is, not whether it has to be right — I decide what gets built, set up how the agent works, then stand between what it produces and the main branch: reading the diffs, writing the tests that have to pass, and keeping a written record of what has never actually run. The habits on this page came from needing to trust code I did not type line by line.
Contact