I like making Web sites and hacking on various things. Here's an informal list of stuff I've made, or helped to make, that I'm particularly proud of.

Main ongoing personal projects


A new local news site. I'm the founder of the project, write a lot of code and lead the small team.

A freely browsable database of crimes reported in Chicago. I created the site and maintain it.


A Python framework that makes building database-backed Web sites fast and easy. I'm lead developer.

Professional projects (from previous jobs)

2008 Presidential Candidates

This site gives you a ton of information about the 2008 U.S. presidential candidates, including all of their travel and campaign finance/funding reports.

U.S. Congress Votes Database

This site lets you browse every vote in the U.S. Congress since 1991. About.

Faces of the Fallen

This site lets you browse U.S. service members who have died in Iraq and Afghanistan. About.

Local music/entertainment site for Lawrence, Kansas. I wrote the site's publishing system and came up with many of its cool features. The site was named best local entertainment site in the U.S.A. for several years running.

Local news site for Lawrence, Kansas. I actively developed the site's publishing system. The site has been named best local news site in the U.S.A. multiple times in the past few years.

Sports site for University of Kansas. I actively developed the site's publishing system. The site has been named best sports news site in the U.S.A. multiple times in the past few years.

Various open-source code I've written


A Python library for unsupervised text extraction from documents such as Web pages. Given a list of text files in a similar format, templatemaker creates a template that can extract data from files in that same format.

Python interface to Microsoft Outlook Web Access

Lets you access your e-mails (in raw format, with all headers) from Microsoft Outlook's webmail interface. It works by screen-scraping the interface.

No longer supported

Greasemonkey compiler

Turns Greasemonkey scripts into full-fledged Mozilla Firefox extensions. (No longer supported, because the server has gone offline.)

Python Gmail module

A Python interface to Gmail. (No longer necessary, because the site supports POP access.)

Google Maps CTA view

Firefox extension that displays the Chicago Transit Authority map as an option on Google Maps. (No longer works, due to Google changing its code.)

Google Suggest

Firefox extension that makes the dynamic drop-down from Google Suggest a bona fide part of Google.

Links via Feedster

Firefox extension that displays related links, via Feedster, within article pages on the Washington Post and New York Times Web sites. A winner in the Feedster Developers Contest.

All Music Guide site fixer

Firefox extension that improves usability of All Music Guide. This was the primary inspiration for Greasemonkey.


See my music page for some of my guitar recordings and videos.