PocketMine plugins

I have built the following plugins for PocketMine servers. They are all written in PHP and demonstrate OOP, protocol implementation, and threading/async.

  • SimpleWarp: the original warp plugin (extensive API and modular design)
  • SimplePortals: makes portals using the SimpleWarp API
  • MineReset: a tool to replenish blocks in an area using configured ratios
  • Volt: an integrated HTTP server
  • BuyCraft: BuyCraft client for PocketMine (not updated for new BuyCraft API)
  • RankUp: a rank plugin (pay to get a better rank) that integrates with common economy and permission plugins
  • BattleKits: a full-featured kit plugin that integrates with common economy plugins
  • TapToDo: execute a command when a block is tapped
  • Specter: fake players which can be used to debug plugins
  • TimeCapsule: a changes-only backup and restore tool
  • Holograms: extensible hologram manager

Web apps

Most of my web apps personal projects are built using NodeJS (assume unless otherwise stated). I have worked with MongoDB, express, and many common libraries.

  • mcpeme: an open source tool to run a hostname registry on CloudFlare, specifically for mcpe servers
  • Pronouny: a full-featured social network for sharing pronouns, names, and other identifying information with acquaintances and friends
  • thebard: a service to render XML representations for Shakespeare plays (which I also designed)
  • girlsmarts: a Translink API wrapper and take-home activities for a programming workshop I helped design
  • cdump: A tool to analyze CSV dumps from Translink's Compass cards
  • kyoshitsu: gameification tool for schools (backend dev). Code is closed source.
  • banner.mcpe.me (PHP): MCPE server banner service (coauthored and closed source)
  • mcpe-banners-service: MCPE server banner service rewrite in Node.JS
  • mcpe.me-rcon (PHP): web tool to connect to Minecraft servers with the RCON protocol
  • boom: a link sharing concept, links are published to a public wall via a telnet session and are deleted when the session ends
  • heart-scoped: a little pulsing heart app made with Socket.IO
  • Octoclap: generic tool for storing alerts and updates about a Github repository
  • UDID-Grabber (PHP): tool to retrieve iOS UDIDs (no longer functional as of the latest iOS version)


I have only competed in two Hackathons thus far, but I hope to participate in more soon.

  • lecture-buddy (Node.js/React): Frictionless realtime audience feedback (won best use of React at nwHacks 2017)
  • ShogChat (PHP): like Gitter, but built in a weekend (includes an IRC bridge)
  • Water TOS (PHP): discovery, summarization, and analysis of legal documents


When allowed, I commit my school related programming to GitHub. Often University courses frown upon this, so I can't do this for all code.

  • JavaProblems (Java): various Java homework from AP Computer Science and my own experiments
  • FOG: random programming language I helped design for part of my final project in AP Computer Science
  • ccc2016 (Java): my solutions to the CCC contest in 2016 (which didn't go very well due to tech issues)
  • maze (Java): maze generator and renderer I made to reintroduce myself to Java for a University course

CLI tools and libraries

I have made a few open-source libraries and small CLI tools.

  • MoveShowtimes (PHP): CLI for google movie showtimes
  • nofear (Node.JS): CLI for accessing SparkNotes: No Fear Shakespeare
  • mcperader (Node.JS): library to scan for MCPE servers in LAN
  • mcpeping (Node.JS): library to ping MCPE servers for simple data
  • mcpe-banners (Node.JS): library to generate PNG banners for MCPE servers based on current stats
  • bogobogo (Node.JS): a joke implementation of one of the slowest sorting algorithms
  • checkubc (Node.JS): a hacky tool to alert me when my univeristy had processed my application
  • vsbcal (Node.JS): scaper for my school district's online calender format