In continuous use · 13 releases in four months
A combat tracker for tabletop roleplaying, shipped as a native desktop application. It is the smallest project here and in one specific way the most valuable: it has the longest sustained release cadence of anything I have built, and every release came from someone using it.
The thing the bigger projects cannot demonstrate
Most of my portfolio shows construction — building something substantial, quickly, with real verification. Encounter shows something else, and it is harder: four months of iterating against a live user, in the room, week after week.
Thirteen semantic-versioned releases between March and July. Every single tag corresponds to a user-visible change — no version-number inflation, no releases cut to feel productive. Each one exists because someone hit a rough edge at an actual table and I fixed it before the next session.
That is the discipline a shipped product needs and a side project usually never develops: shipping small, shipping often, and letting real usage rather than your own taste decide what gets built next.
Small and sharp
Tracks initiative, hit points, and conditions across an encounter, fast enough to keep up with a table that is already moving. Packaged with Tauri so it launches like an application rather than a browser tab, because a tool you open forty times a session cannot live behind a URL bar.
Round two, seventeen combatants, party in blue and monsters in red. Two details carry the whole argument of this page. The 2ND badges are second initiative counts — the same creature acting twice in a round — which is a feature nobody designs speculatively; a real DM asks for it at a real table. And the footer reads Enter: dmg · Shift+Enter: heal · Tab / Shift+Tab: next / prev — initiative, name & AC are all editable mid-fight. That is a tool built to keep up with a game already in progress, not a demo built to be looked at.