snitscanner

A virtual flatbed scanner, on the Mac and in the browser. Drag and zoom the image while it scans and the output smears and stretches.

Mac 1.0 Mac · web free App Store · snitscanner.xyz

Kipowi

A player and exporter for video, audio and images, MKV included. Trim it, crop it, or edit a picture and cut its background out on your own machine.

v0.8.4 macOS · free Player + exporter

ExpressionGate

A macOS audio plugin you control by how loud you play. Quiet playing gives one set of effects, playing harder gives another.

v1.11.4 macOS · free AU · VST3 · Standalone

Danish UFOs

An interactive map of 3,236 UFO sightings in Denmark from 1946 to now, built from written reports turned into structured data.

Live Web · free danishufos.club

OneKeyTalkie

A walkie talkie in a browser tab. Nine channels, one talker at a time, and an FM dial everyone on the channel shares.

Live Web · free Push to talk

Himmelluft

A small radio station for iPhone. Programmes go out at set times with the songs playing from your own Apple Music, and between them the station is silent and counts down to the next one.

In review iPhone · free Radio station

Krypin

A writing app with no server. Your text is packed into the web address itself, so sharing the link shares the writing.

Live Web · free krypin.app

DK Dial

Danish radio as a physical panel in the menu bar. Six pads for the national stations, and a dial that reaches into the archive.

v1.3.1 macOS · free Menu bar app

Shutters

A grid of lenses laid over a picture, each sampling from somewhere slightly else. Turn the knobs, export a still or a loop.

Live Web · free shutterwobble.netlify.app

Bouncebin

Gathers the bounces scattered through your music folders into one place you can hear them all. Rate them, keep the good ones, then sequence them into an album with its own artwork — shown as a record sleeve you can turn over on screen.

v1.2.0 macOS · free Bounce library

FinderNotes

A scratchpad that appears when you press a key and disappears when you are done. Lives in the menu bar, and it answers sums.

v1.1 macOS · free Menu bar app

CommentGrab

Click comments on YouTube and turn them into clean images and short animated clips, redrawn from the text so they stay sharp.

Live Chrome · free Extension

Warm Mittens

Makes it snow on your Mac. The snow settles on your windows and drifts up along the bottom of the screen until a little snowplow comes through, and you can throw snowballs at a friend's screen.

v1.0 macOS · free Mac App Store

Wonkyfolks

Avatars I drew by hand. Mix the eyes, nose and mouth from ten faces, and the same name always gives the same face.

Live Web · no account wonkyfolks.fyi

Dany's Video

A shelf of VHS tapes in a 3D room in the browser. Pull one out, turn it over and put it in the VCR, and the film plays on the TV from the Internet Archive, with a tracking knob that rolls the picture on purpose.

Closed Web · free 3D VHS room

WonsildFoundation

The starting point for my web apps. Shared typography, spacing and React components, with two visual styles I can adapt for each project.

v0.5.1 React · shadcn registry Design system

Notes

How they are built.

These are tools I made for my own use. snitscanner is one static HTML file with no backend. ExpressionGate is a JUCE plugin. Krypin has no backend either, it keeps your writing in the link. Shutters draws everything on your own machine. Danish UFOs is a set of Python scripts and one GeoJSON file. OneKeyTalkie has a server, and it stores nothing. Dany's Video keeps its shelves in a database and plays its films straight from the Internet Archive. Bouncebin runs a small Python server on your own machine and shows it in a window, so the app and the thing I develop in a browser are the same app. Ostromo is a web page running on my TV, with a small Node service beside it to fetch the data.

If you want to talk about any of it, write to me.