Projects
What I build when nobody is asking.
Side projects are where I practice the whole craft at once (data ingestion, reverse engineering, modelling and UI) without a deadline deciding the quality bar.
War Thunder · Tactical Replay
LiveWhat it is
War Thunder is a vehicle-combat game whose battle replays are stored in an undocumented binary format. This project turns those raw files into after-action reports: full scoreboards with the vehicles actually played, kill feeds, zone captures, the final score and every unit's movement (replayed over the game's own tactical maps).
How it works
- Ingest
- A resilient scraper follows the public squadron-battle feed and the battles played locally, downloading every replay segment from the CDN with completeness gates and retries (partial data never poisons the archive).
- Decode
- Rosters, kill and award packets, team tickets and unit positions (~3 samples per second) were reverse-engineered byte by byte from the recorded network stream, then validated against in-game ground truth before any value is trusted.
- Replay
- A canvas viewer replays every battle on the real in-game map (animated units, kill markers, a synchronized battle feed) behind a clan-searchable archive with server-side pagination.
Stack
- C# / .NET 10
- PostgreSQL · jsonb
- EF Core
- Playwright
- Docker
- Binary reverse engineering
- Canvas 2D
Open the replay browser
Live data (with 1 minute of max delay)