LFG Bot icon


A Discord LFG (Looking For Group) bot for organizing in-house 5v5 matches of Counter-Strike, Valorant, Overwatch, etc.

This was a quick project (< 1 month), and an excuse to ship something new using Elixir. I'm pretty proud of this one! I haven't come across many other bots that run persistent, session-based interfaces inside a text chat channel.

Startup Message

the discord bot's startup message, with a button underneath labelled 'new group'

Empty Teams

a discord message showing a group with two empty teams, and buttons to leave/join or control the session underneath

Full Teams

a discord message showing a group with 10 players split between two teams, and buttons to leave/join or control the session underneath
tntp logo icon


A bare-bones new tab page WebExtension. Inspired by Speed Dial in the Vivaldi browser (and Opera, back in the day). This was an exercise in learning how to make a browser extension.

Note from 2024: S.js is a signals-based reactivity library, and Surplus is a JSX-based UI library for S.js. Having now used Solid.js a lot, it's funny to look back on this and realize it's the same thing! By the time I first picked up Solid, I had totally forgotten that I worked in this stack once before.

TNTP New tab page TNTP edit screen

Issue Tracker

A prototype issue tracking app, built with React. This was an exercise in learning new server-side JavaScript/TypeScript technologies (Koa & GraphQL).

Preview of issue tracker
Twitchi logo


A Twitch follow list viewer integrated with Streamlink. View your follow list, and click a stream to open it using Streamlink or a Twitch pop-out player.

Twitchi interface

Hyperapp Router

A Higher-order app providing minimal top-level routing for the Hyperapp framework.

IPC Result

A small Node.js module for tracking operation status and value in JavaScript, useful for Electron webview ↔ window IPC calls.

gDiscordBot icon


A plugin-driven Discord bot platform based on the Discordie node.js library.

DSAS icon

Deep Space All-Stars

Unity-based shoot-em-up style game (think Space Invaders) for mobile devices.