Hi, I’m Jon. I build small, practical software and contribute to
open source. This page is a curated list of things I’ve shipped,
experimented with, or helped improve.
Computer enthusiast by choice, software engineer by profession. I
love programming, AI experiments, and well-behaved systems. When
offline, I’m with my family, reading, camping at the seaside, or
fixing things around our home. My joke success rate is ~10%
(±5.72%).
Projects
Learn Everything
Flashcards, Spaced Repetition System (SRS)
Part of our personal learning system, inspired by the Leitner
system and spaced repetition. I built it to give our kids and me
the best possible learning environment — together on the couch
(big TV), on any device, with stylus support. Thanks to tldraw,
cards can be freely drawn and written. Creating these cards is a
huge part of the learning process itself.
Tech: PostgreSQL, Next.js, Tailwind, shadcn, tldraw
Money Monkey
Personal finance tool
Yes, programmers apparently can’t resist building their own. I
built Money Monkey after hitting the limits of spreadsheets: too
manual, too fragile, too disconnected. Multi-account support,
semi-automated imports, auto-matching, budgeting, AI-powered
insights, custom reports, and more.
Tech: Supabase, FastAPI, React, Tanstack Query, Mantine, Recharts
Turn ideas into a world you can explore.
It started with a simple problem: I wanted to take short breaks,
but couldn’t decide what to do. A random list helped — and then I
realized how many lists could benefit from this. Ocean of Ideas
lets everyone create their own little “island” (a list), discover
others, remix them, or simply pick randomly, no mandate to finish
any of them.
Tech: FastAPI, React
Rediscover the interesting.
I save a lot of interesting things while browsing, but choosing
what to explore later became the hard part. This tool connects to
raindrop.io and randomly picks a bookmark for my weekly “go &
explore” evenings. I dive in as long as I like, then move on.
Long-term, this idea will feed into Ocean of Ideas as a random
picker for external collections.
Tech: Next.js
Math Safari
Practice math, earn a smile.
Simple math practice for our kids with funny animal GIFs as a
reward. Learning through repetition and joy. Technology-supported
learning is a fascinating space both technically and
psychologically.
Tech: Next.js
Experiments
Focus/Brown Noise Generator
Work calm and focused
Mix ambient sounds local or from YouTube to support deep focus and
create sound environments tailored to the situations. As it often
goes with scope creep, it now also includes my Pomodoro timer,
breathing exercises, and will eventually surface my “island” ideas
for short 5-minute breaks. But this is what experiments are for,
right?
Tech: Go, yt-dlp
Rock Paper Scissors (in-browser AI)
A classic game, powered by on-device AI.
A small AI model loaded directly into the browser via WebAssembly
that detects hand gestures. An exploration of in-browser AI,
MediaPipe and real-time interaction.
Tech: Vanilla JS, MediaPipe Tasks Vision
san de
Designing a small, opinionated, functional communication system
San de is a small language experiment I keep coming back to. It’s
about how little you actually need to communicate basic things
when you’re in a foreign place — asking for direction, time or a
bathroom — using a very small, consistent set of words that can be
learned in about an hour and works across cultures. The goal isn’t
to simplify language in general, but to create something in the
communication space that works differently from anything else.
The name san de means “good way forward.” I like the idea that one
day I might walk into a bakery somewhere in Phuket, say “san de,”
and get a “san de” back — even though, for now, there are usually
enough Germans around that English or German still works just
fine.
ili eni letel de (give some good)