Lab

What I build when nobody commissioned it

Own products and smaller work. This is where the techniques come from that later show up in client work — and where something is allowed to fail.

  • Common room booking plan

    Residents of a student hall see when the common room is free and book it without an account — edits happen through a secret link. One Node process, no external services.

    • SvelteKit
    • Svelte 5
    • SQLite
    • Drizzle
  • Kicktipp dashboard

    A public football prediction round turned into a readable dashboard: standings with position trends, cumulative points, a bump chart, a heatmap and auto-generated insights — because the original interface is static.

    • Next.js
    • TypeScript
    • data visualisation
  • CouchCinema

    A film and TV companion built on TMDb data, with watchlists, ratings and a light social layer. Published in the Google Play Store.

    • Flutter
    • Dart
    • Firebase
    • TMDb API
  • GamerGrove

    Discover games and manage your own collection on top of IGDB data, with a wishlist and a community feed. Published in the Google Play Store.

    • Flutter
    • Dart
    • IGDB API
  • LifeLoop

    A photo journal for stable long-term timelapses. A semi-transparent overlay in the viewfinder plus ML Kit face alignment keep frames registered — all on device, nothing in the cloud.

    • Flutter
    • ML Kit
    • on-device processing