portfolio · 2026
full-stack developer · finland
Mikko Numminen
MIKKO
NUMMINEN
about
Nine repos. They build on each other.
Full-stack developer in Finland. HRM is the architectural backbone of Platform — live for a real WoW guild at vuohiliitto.com. AudiobookMaker voices Spacepotatis, a browser game I shipped this year; strudel-patterns scores it. Each repo stands on its own — the seams between them are the point.
- 1828+ tests in the largest project
- 91.9% line coverage
- 9 shipped projects
connections
How the projects connect.
-
Repos that feed each other
HRM ships as a git submodule inside Platform — same auth, same audit log, two products from one core. AudiobookMaker voices Spacepotatis; strudel-patterns scores it. Every line of dialogue and every note of music traces back to a repo I own.
-
Tested or it doesn't ship
Every repo runs CI on every push. HRM has 1828+ tests at 91.9% coverage, Spacepotatis ~1300, AudiobookMaker over 3000. Quality gates matter more than the fanciest stack.
-
AI-native, on the record
Spacepotatis ships a catalog of custom Claude Code skills under .claude/skills/ — version-controlled, audited, treated as production artifacts. Pair-programming with AI is part of the toolchain; the methodology is the receipts.
See the receipts
integrations
Plugged into the world.
- Platform Raider.IO API
Live Mythic+ team tracker for a real WoW guild. Rosters, recent runs, and rio scores pulled fresh on every load — no stale screenshots. Auth via Google or GitHub OAuth, plus a zero-credential demo for visitors.
- ReadLog Open Library + Google Books
Two book APIs queried in parallel; whichever source returns the cleaner record wins. Duplicates are collapsed before they reach the UI. Sign-in via Google OAuth.
- AudiobookMaker Microsoft Edge-TTS
30+ cloud voices in six languages, on top of three local engines (Piper, Chatterbox, VoxCPM2). Pick the voice that fits the book.
- Spacepotatis Google OAuth
Sign-in is optional. Play offline forever, or opt in for cloud saves and a leaderboard slot.
- Feedback Intelligence Tailscale Funnel
The demo runs free on Azure Static Web Apps, but the model runs at home: an Azure Functions proxy forwards each request through a Tailscale Funnel to a local Ollama GPU. Snapshot-first, so the demo still answers when the tunnel is down. Cloud-inference bill: zero.
velocity
Fast — for real.
Spacepotatis went from empty repo to live browser game in 12 days: 475 commits, ~1300 tests, full Next.js + Phaser 4 + Three.js stack — backed by audited Claude Code skills as production artifacts. Most of the portfolio started in the last few months. Every number here is countable from the commit history.
How 3.13M tokens was estimated