Skip to content

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.

  1. 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.

  2. 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.

  3. 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
12 days from empty repo to live Spacepotatis
475 Spacepotatis commits
~1300 Spacepotatis tests passing