Cat Dog Fish
Spin for a letter, fill every category before the clock runs out, then argue about whether Aardwolf counts. Up to 10 players, in the browser, free.
- Party
- Multiplayer
- Word game
- year
- 2026
- built with
- TypeScript, Cloudflare Workers
$ whoami
Avzi. I value spectrum, set the bid strategy, and write the simulation, tracking and live-auction software that the strategy runs on. The rest of the time I make games, data tools, and things that should not have needed an ad-blocker to use.
Spin for a letter, fill every category before the clock runs out, then argue about whether Aardwolf counts. Up to 10 players, in the browser, free.
Auction platforms, games, and the occasional tool built because the alternative wanted my email address.
A live spectrum auction you can run with a room full of people. Teams bid in real time over WebSockets, and the surplus they end up with is the score.
A padel sports game with simulated shot physics, ragdoll reactions and online multiplayer. In playable alpha with friends, and a long list of things still wrong with the serve.
A universal auction engine with an auctioneer console, live bidder screens and a results pipeline. Runs SMRA, clock and combinatorial formats from one configuration.
An ascending clock auction you can step through round by round. Change the activity rule or the increment and watch price discovery, demand reduction and efficiency move against each other.
A working demonstration of how I build data products: messy ingestion, entity resolution, a provenance-tracked warehouse, quality gates, and an application on top. Runs in a second, rebuilds byte-identically.
A spectrum intelligence platform: licence and award records across countries, band plan browsing, benchmark analytics and a natural language query layer over the whole dataset.
Portfolio, blog, multiplayer games, live demos and private tools, on infrastructure that cannot surprise me with a bill. The architecture, and the two decisions that made it work.
Every time I run an auction simulation with a new group, someone walks out with the biggest portfolio and the worst result. There is a structural reason for it, and it is not inexperience.
Not a real shell. It cannot touch anything, and that is rather the point.
I am usually up for a conversation about auction design, multiplayer netcode, or why your spectrum benchmark is off by a factor of population.
[ get in touch ]