I make things, break them, and occasionally fix them.

Games, music tools, and an unhealthy amount of half-finished experiments. Some of it works.

See the projects Contact

Projects

The bigger things. The smaller ones are further down.

Show
  • Tap Tap Reloaded

    A revival of the old Tap Tap Revenge rhythm games, for Android and iOS. Every feature and idea went past the community first. I built the backend, the Discord integration and the multiplayer server. It's in limbo now, off the app stores, but it somewhat lives on for anyone who already installed it.

    № 01 · Games + music · ◐ In limbo · Unity, Go, PHP, AWS

  • PartyZone

    A Minecraft server, mcpz.net (opens in new tab), with minigames, creative plots and a survival server on the side. It somehow needed a team of developers, over fifty staff and me running meetings, all for a game about blocks. Someone is still trying to revive it, so it hasn't entirely stopped.

    № 02 · Games · ◐ Somewhat alive · Java, PHP, Python, Redis

  • Swanzo

    Whenever I pay for something with my Monzo card, it checks me in at that venue on Swarm. Nobody asked for this. It has an admin panel, because of course it does. Foursquare has since changed its API and I haven't kept up.

    № 03 · Tools · ○ Retired · PHP (Symfony), Monzo and Swarm APIs

  • Alt1 apps

    Overlays for RuneScape's Alt1 Toolkit, so I can stop doing arithmetic in a video game. Each one reads something off the screen, does the maths and tells me what to do next.

    № 04 · Games + tools · ● In use · JavaScript, Alt1 Toolkit

  • MIDI to sheet music

    Turns MIDI files into sheet music, in Haskell. It deliberately trades accuracy for readability, so the result is something a human with only two hands could play.

    № 05 · Music · ● Finished · Haskell

  • Festival Playlist Generator

    Guesses what the bands will play at a festival and builds a Spotify playlist of it, so you can learn the words in advance. I made it for Download Festival and have since pointed it at Slam Dunk. Spotify's developer mode means only accounts I've added can use it, so as far as you're concerned it's a rumour.

    № 06 · Music + tools · ◐ Invite only · PHP (Symfony), Spotify, setlist.fm, MusicBrainz

  • Personal Life Blog

    Pulls data from Discord, Monzo, Swarm, Spotify, Trakt and Twitter and turns it into a timeline of what I've been up to. Self-surveillance, but as a blog. Most of those services have since changed or closed their APIs, so it's now a very detailed record of a few years ago.

    № 07 · Tools · ○ Retired · PHP

Side quests

  • 26 Password Policy A password policy that starts out reasonable and gets more unhinged each time you satisfy the current rules. A valid password exists, and you can work it out without guessing. ● Solvable
  • People picker Pairs people up at random, but keeps teammates apart, so everyone has to talk to someone new. Built because a previous workplace wanted more socialising. Mandatory fun, but automated. ● Works
  • Tap2Mid and Tap2Chart Converters for Tap Tap track files. One produces a MIDI file, with settings for approach speed and note offset. The other produces a chart. ● Works
  • Drop chance calculator Tells you the odds of a rare RuneScape drop after a given number of kills. The news is usually bad. ● Works
  • Bluesky Quick Follow Lets me browse the accounts one of my followers follows and follow the good ones in a click. Curating my feed by borrowing other people's taste. ● Works
  • Battle Morale An RPG-style game from the Bristol Pride Game Jam in 2018: dialogue, choices, and the story carries on from there. I wrote a YAML script parser so the non-programmers on the team could write it without touching code. ● Finished
  • Minecraft cheat detector Built for PartyZone as a university project: machine learning that spots Minecraft players using hacked clients from how they play. It worked, provided the cheaters were being very obvious about it. ● Finished

Contact

I'm Kit (they/them). Email is best, and questions about any of the above are welcome.