I build APIs, integrations, and the tools around them.
Full-stack developer with seven years of experience — mostly backend, API, and integration work, plus a lot of tools I built because I needed them.
FeaturedPrivateStreamPop
A self-hosted toolkit for a Twitch stream.
Channel-point alerts, a chat overlay with 7TV, BTTV and FFZ emotes, a song-request player, and text-to-speech through ElevenLabs. Each overlay connects to one Express server over Socket.io, so the OBS sources update live without reloading.
anilook
Find out where an anime is dubbed.
A command-line tool that checks whether an anime has a dub and in which language, by combining data from AniList and anisearch.
RoseClipper
Find clip-worthy moments in Twitch VODs.
Scans a Twitch VOD for laughter with an audio model and returns the moments worth clipping, so you do not have to watch the whole thing back.
- 7+
- Years of experience
- 3
- Years apprenticeship
- 20+
- Projects shipped
Selected work
A selection of what I've built — most of it to solve a problem I had.
Spindle
Self-hosted listening stats for Navidrome.
A self-hosted dashboard that tracks what you play on Navidrome and turns it into stats and yearly summaries — like Last.fm or Spotify Wrapped, but for your own library. A small Rust/WASM plugin sends plays to a TypeScript backend that a Vue dashboard reads from.
FeaturedRunning · closed sourceWarpedRealm
A long-running Minecraft RPG server.
A survival RPG server with 114 plugins, about thirty written from scratch. It has a custom 3D model system that renders in unmodified clients, procedural terrain in custom dimensions, and a quest system that survives restarts. Everything runs asynchronously to keep the server tick under 50ms.
FeaturedPrivateStreamPop
A self-hosted toolkit for a Twitch stream.
Channel-point alerts, a chat overlay with 7TV, BTTV and FFZ emotes, a song-request player, and text-to-speech through ElevenLabs. Each overlay connects to one Express server over Socket.io, so the OBS sources update live without reloading.
WarpedCommissions
A daily-quest plugin for Minecraft.
NPCs hand out jobs that change daily. Finishing them raises your standing with each NPC, and because the NPCs have relationships with one another, working for one also earns favor with another. Daily streaks pay more, and delivery jobs lose value if you take damage on the way.
music-dl
A command-line music downloader.
Give it a link and it downloads the track, tags it, and files it into an Artist/Album/Track folder for Navidrome. It picks the backend automatically — spotdl for Spotify, streamrip for Tidal, yt-dlp for the rest. It is what feeds Spindle.
LiveMinecraft Sound Browser
Search and play every Minecraft sound.
A web app for searching and playing tens of thousands of Minecraft sounds across every version, with pitch shifting, mixing and filtering. Built to stay fast over a large dataset.
Open sourceMidas
MIDI to text and back, for language models.
Converts MIDI files into plain text a language model can read and edit, and back again — keeping tempo, time signatures and multiple tracks intact.
anilook
Find out where an anime is dubbed.
A command-line tool that checks whether an anime has a dub and in which language, by combining data from AniList and anisearch.
RoseClipper
Find clip-worthy moments in Twitch VODs.
Scans a Twitch VOD for laughter with an audio model and returns the moments worth clipping, so you do not have to watch the whole thing back.
WarpedLavaFishing
Fishing in lava for Minecraft.
Adds fishing in lava with the full vanilla mechanic — waiting, biting, reeling — and fires the normal fishing event so other plugins still work. Fishing hooks ignore velocity, so it moves the bobber with a hidden snowball instead.
PrismaSprite
Recolor pixel sprites in the browser.
Drop in a sprite, pull out its palette, and remap the colors to make new versions. An AI helper can suggest a color mapping from a short description.
More, on request
Beyond these there's a larger body of private work — mostly custom game systems and client tooling. Happy to walk through any of it:
- A custom mob-spawning engine with weighted spawn groups, virtual spawners and event-driven encounters.
- A quest and codex system that tracks progress across a dozen objective types in persistent entity data, with glob-pattern targets and tiered rewards.
- Multi-room dungeon instancing that replaced a paid commercial plugin.
- Client-side game mods on a bleeding-edge, unobfuscated toolchain — including a terrain-culling renderer that hooks the vanilla and Sodium pipelines, and a per-server database of every storage container you've opened.
- A reverse-engineering pipeline that reconstructs proprietary 3D models — geometry and animation — from a cached asset pack and live entities, back into an editable source file.
Skills
Backend
Frontend
Infrastructure
Testing & build
The tools I use most. I pick up new ones as a project needs them.
About

I'm a full-stack developer with seven years of experience, after a three-year apprenticeship. I work across the stack, but I'm most at home in the backend — APIs, integrations, and the systems that tie everything together.
A lot of what I build started as something I needed myself. I run a Minecraft server that outgrew every plugin I could find, so I wrote my own — around thirty of them. I self-host my music, so I built a stats dashboard and a downloader to go with it. Most of the projects below came out of a problem I had.
I care about clean code, systems that keep running, and tools that do one job properly.
Get in touch
Open to remote roles — integration, API and backend work especially.
Whether you're hiring, want to collaborate, or just have a question, the inbox is always open.