Backend developer teaching myself the front half.
Years of server-side work, now building the whole thing. Everything on this site is live and actually used — by me, my wife, my mates, and one AI that trades shares without asking me first.

AI Trading Agent
LIVE · AUTONOMOUSI wanted to know whether an AI trading bot would just chase trends and always arrive late, or whether it could actually anticipate anything — so I built a panel of ten AI agents with different personalities (value investors, momentum chasers, contrarians) that read the news, argue about stocks, score each other's picks, and trade the surviving consensus on a paper account. Every trade comes with its full reasoning, so I can see exactly why it did something daft. Its finest hour: the week before last month's crash, it quietly sold all its tech and bought arms manufacturers. Then the market recovered, and it's back to losing to every index fund on Earth. (I wanted a mix of Claude and ChatGPT agents, but Anthropic's payment system won't take my money — so it's ChatGPT only for now.)
Under the bonnet: plain Java 17, no framework. Every weekday it runs a two-phase debate — ten agents each pitch fifteen stocks, then score each other's picks, and the weakest are eliminated round by round until fifteen survive. An AI reads the morning's news first and scores each sector, so “rates rise” counts against finance picks. The survivors get rebalanced onto an Alpaca paper account, and a snapshot lands in Redis — this page just reads the latest one.
- ▸ATR-based trailing stops on every position — the stop follows the price up, locking in gains as a stock climbs
- ▸Agents with a track record earn louder votes — elimination scoring is weighted by each agent's actual win rate
- ▸After-hours orders get back-filled with real execution prices next run, so the P&L never lies
- ▸Staggers agents 35 seconds apart to duck OpenAI's rate limits — a full debate takes six minutes instead of one
Picked by Ray
Picked by Marcus

Route Selector
OPEN SOURCE · ~1,000 USERSRoute Selector — a Cities: Skylines 2 mod fixing an annoyance the game shipped with: there's no way to directly select a transit line to edit it. Once your network gets busy, five bus routes share the same road, and clicking it is a coin toss. This adds a panel listing every line in your city, grouped by type — pick one and it isolates it on the map, hiding everything else, so your next click edits exactly the line you meant. About 1,000 people use it, which is 1,000 more than I expected. Open source, on Paradox Mods.
- ▸C# for the game side, TypeScript/React for the panel — CS2's UI is genuinely a webpage running inside the engine
- ▸When a bug report said train lines listed in reverse order, I decompiled the vanilla game's own line list to check — turns out the base game has the same quirk, so it matches vanilla rather than “fixing” it
- ▸The modding toolchain silently wipes your UI bundle during publish, which shipped one broken version before I found it — publishing is now a carefully-ordered ritual documented so nobody repeats it
- ▸Getting the toolbar icon to render took four separate fixes — the game masks icons to silhouettes, renders SVGs at declared size, and caches assets forever. The changelog tells the whole saga

The Candidate
A browser-based political strategy game modelled on the UK electoral system — rise from local councillor to Prime Minister by reading documents, building a platform, and out-manoeuvring rival parties. Every promise is logged: an integrity tracker and a dossier system mean broken commitments and shifting positions become ammunition opponents can use against you.
- Council elections playable in London, Manchester, Birmingham, Edinburgh and the North East
- Document-reading and highlighting system that rewards cross-referencing sources for hidden signals
- Three fully-specified AI opposition parties with deterministic, ideology-driven behaviour

Nutrient Tracker
MyFitnessPal wanted money for the detailed breakdowns, so I built my own. Photograph your food and it works out what's in it, then tracks 23 vitamins and minerals against your RDA and tells you what you're actually short on — not just calories. Exports to CSV if you ever want to leave, which is more than most apps offer.
- Snap a photo and GPT-4o-mini identifies the food — entries process in an async queue so you can keep logging while it thinks
- Tracks 23 micronutrients — vitamins A through K, the full B-complex, and minerals — not just the macros everyone else stops at
- Daily insights sort everything into Well Covered, Nearly There, or Needs Attention, so you know what to fix at a glance
- Drag and drop entries between meals, edit or delete with instant feedback — logging mistakes shouldn't be a chore to fix
- Set goals based on your actual activity level, then watch the analytics — with a full micronutrient breakdown toggle when you want to nerd out

Gym Tracker
Got tired of gym apps charging a subscription for things a spreadsheet could do — so template-first logging that pre-fills from last session, bumps weight automatically when you hit the top of the rep range, and spots PRs. Still a bit rough around the edges, but I use it every session.
Oscar Tracker
My wife and I are working backwards through every Best Picture nominee for date night once our son's down — mark what we've watched, rate them, argue about who should've won. Streaming coverage spans the UK, Netherlands, Australia and the US, because that's where our scattered family actually lives.
Bets
My mates and I bet on everything and remember none of it — so here's a public ledger of every wager, with stakes, claims, and a win-rate leaderboard, so nobody can deny what they agreed to. We bet pushups, not money, so the leaderboard doubles as a fitness plan for whoever's worst at predictions.
Built with Modern Technologies
The stack behind every feature on this site