Skip to content

Project Archive

Everything I build outside work hours: mobile apps, browser extensions, a decade of Minecraft server plugins, and the tooling I write for my own use.

Projects

Product · 5 modules

Ferrio

Every day carries an odd little holiday, and Ferrio tells you which. Android since 2014, iOS in SwiftUI, and the web - all fed by one API. The holidays live on a server rather than inside the app, so a correction or a new entry reaches everybody without waiting for a store review.

AndroidiOSSwiftUIWeb
Paper plugins · 3 modules

Minecraft server plugins

Plugins for Paper servers, rebuilt in 2026 from a line of Spigot plugins I started in 2014. The rewrite kept the ideas and dropped the rest: the prefix, the in-house command library and the plugins nobody needed anymore.

JavaPaper
Browser extension

Surround it!

Select text, type a bracket, and the text ends up inside it instead of being replaced. What every code editor does, in every input on any page. Editors have had the habit for twenty years and no browser does it anywhere else; this teaches it to Chrome, Edge and Firefox.

JavaScriptChromeFirefoxEdge
Browser extension

Free JSON Formatter

A browser extension that turns raw JSON into a collapsible, searchable tree. One permission, no network code, and a test that fails on any request. Written after the most popular formatter went closed source and began injecting scripts - the guarantees are the point, not the tree. Chrome, Edge and Firefox.

TypeScriptChromeEdgeFirefox
Claude Code plugin

PR Buddy for Claude Code

A Claude Code plugin for code review on GitHub and GitLab. It reviews other people's pull requests in your voice, works through the comments left on yours and checks your own branch before anyone else does. Nothing is posted until you have read every word and typed send.

Claude CodeGitHubGitLab
Discord bot

Torphes

A Discord bot that turns a channel into a Java quiz. Pick a difficulty and a category, answer with a button, and every option - right or wrong - explains itself. A broken question is one click away from being reported.

JavaDiscord
IntelliJ plugin

Achievements for IntelliJ

An IntelliJ plugin that hands out achievements for habits every developer has and nobody counts: opening a file untouched for two years, keeping a hundred tabs open, closing them all in one click. Two more stay secret until somebody finds them.

KotlinIntelliJ
Isaac mod

Double Holy Cards for Tainted Lost

A Binding of Isaac mod for Tainted Lost, the character that dies to a single hit. Every random card gets twice vanilla's chance to become a Holy Card, the one thing that buys a second life - 20% instead of 10%, measured in game.

LuaIsaac

Upcoming

Finished enough to show, not yet out.

Upcoming Game

One Pixel

A daily guessing game with one rule: a single pixel is hidden on a board of ten thousand squares, and every player in the world gets one guess at it per day. No hints. The answer is revealed the next day, and a new area takes its place.

UnitySteamworksWindows
Upcoming Game

HuntLoop

A treasure hunt played on foot. Follow a trail of clues through a real city, reach each spot on real GPS to unlock the next one, and solve the puzzles hidden along the way. Anyone can build a trail of their own and publish it or share it privately.

AndroidiOSJetpack ComposeSwiftUISymfony
Upcoming Game

Ravel

A word puzzle for Android that never shows you the words, only their lengths. Each one snakes through the grid of letters, and together they cover every square exactly once. A solver checks every board before it ships, so there is always exactly one answer.

AndroidKotlinJetpack Compose

Collaborations

Work I do for other people: building things, keeping them running, or helping decide what they should do next. Their business, not mine.

  • Built and maintained

    Animaeris

    A studio for aerial and movement classes, open since 2022 and teaching everyone from children to seniors. The site carries the class list, the timetable, pricing, the gallery, the instructor profiles and the sign-up flow. Written in PHP and still being extended.

    Visit