CallMyCongress.com
November 2016—December 2019
Quick and easy access to your congressional representatives.
Look up your US Congress representatives and senators, using your street address and zip code. Call or tweet at your representatives with two clicks. Check voting records and ensure your legislators are representing your interests. Permalink to your district for easy access.
Built on data freely provided by the US Census Geocoding Services and ProPublica.
Consists of an Ember.js client side app and a tiny Express backend server. See the source code and contribute.
Resume Builder
June 2018
Generate a beautiful resume from YAML.
A static site built with Ember.js that displays a live print preview of a resume parsed from YAML written in the provided text editor.
Changes are automatically saved as local storage in the browser (so you can edit and come back to them later).
Color Vision Deficiency PDF Viewer
March 2018
Preview PDFs in the browser with eight different variations of color vision deficiency.
View each page of a PDF with filters that simulate eight different types of color vision deficiency to verify that your content is accessible for color blind people.
Includes recommended resources for further reading and for color vision deficiency simulator software.
Uses the PDF.js platform (created by Mozilla) and the color blind SVG filters found in the colourblind bookmarklet (created by Alastair Douglas). See the source code and contribute.
Markomposition
March 2015
A Markov Chain poetry generator.
Generates poetry using variable order Markov chains. Uses the Irvine Phonotactic Online Dictionary to determine proper syllable count for forms which rely on strict meter.
Written in Javascript, originally adapted from introductory coursework written in Python.
Includes short descriptions of different poetic forms, as well as a basic explanation of Markov chains, to encourage further exploration of these topics.
one.two.tree
December 2014
A browser-based math and logic puzzle game.
Object-oriented design with multiple layers of abstraction and a clean MVC architecture written in Javascript.
Game board user-interface comprises Bootstrap components exclusively for complete responsiveness. Pieces are re-sized depending on both window size and size of current game board to waste minimum space and improve usability.
Randomly generates puzzle congfigurations at runtime and can accept multiple solutions. Features three different levels of difficulty and a timer setting.