Projects

Everything on this site. Some are still moving, some are finished.

  1. Web app Typoteka Books written in Markdown and designed in CSS: a web editor that turns a folder of text into a print-ready PDF with real typesetting. Vue 3 · TypeScript · Go · PagedJS WIP
  2. Mac app Cue A watch-later queue for YouTube that lives on your Mac instead of in your browser: a native player with no ads, no embed and no tab eating your battery. Swift · AppKit · libmpv · SQLite WIP
  3. Web app Maestro A workspace where game designers and their AI agents build the design of a game together. It holds the design, never a running game: no live instances, no players, no telemetry. Go · PostgreSQL · MCP · LLMs Active
  4. Browser add-on Disenshittify A Firefox extension that hides the parts of a platform that exist to serve the platform. Recommendation walls, infinite feeds, upsells, suggested posts, each one a switch you can turn off. JavaScript · Firefox · Add-on Active
  5. Web app Owl A self-hosted metrics dashboard for your own server, with the dashboards defined as files rather than clicked together in a UI. If you think Grafana and Prometheus ask for too much RAM, this one is for you. Go · JavaScript · SQLite Active
  6. Plugins Sublime Text plugins The editor I have used for half my life and the one I am still fastest in. The plugins I wrote to fix my own annoyances are published rather than left in my packages folder, in case they are somebody else's annoyances too. Python · Sublime Text API Idle
  7. Web app Nottario A harness for your harness: a task, document and architecture store that coding agents talk to over MCP, so several of them share the same context. Go · JavaScript · PostgreSQL · MCP · LLMs Active
  8. Library Firebase Mocker An emulator of several Firebase services that is just a dependency in your project. No install, no separate process to remember, and tests that run against it as if it were the real thing. TypeScript · gRPC · Firebase Idle
  9. Plugins Hexo plugins I like static sites, and Hexo is the generator I keep coming back to. Over the years one need or another has ended in commits to somebody else's plugin, or in writing and publishing my own. JavaScript · Hexo Idle
  10. Game engine okinawa A small 3D engine in C++ and OpenGL, the heir of a JavaScript 2D engine a decade older. It is a library, not a framework: it draws the world and leaves the game to the application. C++ · OpenGL · xmake Active
  11. Tools Doom tools C++ tools for the archives Doom keeps its levels in. The main one rebuilds a map in 3D from its lines and sectors, with the original textures, and lets you fly through it. C++ · OpenGL · okinawa Idle
  12. Web app GhostMesh An IRC client that runs in the browser and talks to several networks at once. No account, no sign-in, nothing stored anywhere but your own browser. TypeScript · Vue · Tailwind · IRC Idle
  13. Library Vue components A new front-end framework turns up every week. Of all of them, the one I keep coming back to is Vue, and the pieces worth reusing end up published as components. JavaScript · Vue Idle
  14. Library Hexagon A multilanguage mudlib: it adds an entity component system on top of the classic room inheritance, and a single instance can host several persistent online text games at once. LPC · DGD · MUD · ECS Active
  15. Game engine okinawa.js A 2D game engine in plain JavaScript, with no runtime dependencies, that ended up powering dozens of small games on a programming platform for children and a handful of academic studies. JavaScript · HTML5 canvas Idle