Quibbler is an experimental Node.js web app powered by Socket.IO. People type messages anonymously, see them flash on the screen for a moment, only to permanently disappear forever. All messages are randomly inserted into a cloud of text, in real-time sync between all users.

Habitual for Pebble 

A simple and smart-looking watchface that aims to help pick up habits. It allows users to use their Pebble app to type up to five reminders, which will rotate throughout the day, so they glance at them whenever they check the time or date.

The MCU Index 

The MCUi is a React-based, static, single-page website that uses The Movie Database to find actors who have appeared in the Marvel Cinematic Universe.


Tinseltown.js is a very lightweight front-end CSS/JS library that allows designers to add faux flashy loading effects that we see in Hollywood movies and hacker TV shows. Requires minimal code, animations are CSS-based, and timings are flexible through Sass variables.


An implementation of a much sought after feature in Safari for OS X. Other browsers come with the Cmd+Shift+T shortcut to reopen previously closed tabs. Safari only comes with a mediocre counterpart and only reopens one closed tab. RecoverTabs is an extension that keeps track of multiple closed tabs and reopens them with the same familiar shortcut.

AppHookup for Pebble 

An app for the Pebble smartwatch platform written in JavaScript using the Pebble.js framework. Fetches app deals and discounts from the /r/AppHookup subreddit and displays them in an easy to digest list right on your wrist. 

ignr is a Python-based command line utility that allows programmers to download .gitignore templates from Also supports .gitignore previews, backing up of existing file and listing all available templates via the API.

Minecraft Snaps 

Mac app written using HTML5 technologies and Bootstrap using the NW.js framework. Lets Minecraft players easily save snapshots of saved worlds and quickly restore them to their previous state after testing and/or destroying creations.


A small module to fetch Google Search Trends data (available via Atom feed) in JSON format through a Node.js app. Also allows the user to request various localized versions of Google's trends.


An elegant in-browser chess timer written using front-end frameworks as a practice project. Uses colors in a unique way to indicate the current player and comes with configurable color schemes.


Front-end web app that does some simple text modification to make input text look like it was typed by an annoying 12-year old in Twitch chat.


A simple command line utility written in Node.js that lets NW.js developers quickly launch their HTML5-powered desktop apps in a snap using a saved copy of the NW.js runtime.

/r/iPad subreddit CSS 

My very first subreddit redesign. I wrote custom CSS from scratch for the /r/iPad subreddit. I tried to replicate the colors and certain UI elements from Apple's website to match the iPad theme.

Netflix Roulette Node.js API 

A wrapper for the simple Netflix Roulette API for use in Node.js apps. Comes with simple functions that call Netflix Roulette endpoints to get content, actor and director data.


I find myself cross-posting a lot of content between subreddits. This is a Safari extension I made for myself that makes it easy to do so. It adds a tiny 'xpost' button under a post on its comments page. Clicking it takes the user to a pre-filled reddit submission form with an 'x-post' tag and everything.


A command-line Python program that can be used to convert text posts from reddit to a Kindle e-reader friendly format for later reading. User can specify subreddit, number of top posts etc.


A nifty tool for Safari-using gif-watchers using slow Internet connections. Tired of slow speeds, I developed this extension to quickly upload and display slow-loading animated gifs through gfycat. A single toolbar button quickly uploads the currently open gif to gfycat for faster webm streaming.