Work

Stories, apps and open-source software I've authored, typically in partnership with others.

2018
Aug. 31 • everytractcount
June 16 • cpi
May 14 • django-autoarchive
March 16 • street-racing-analysis
March 10 • First Graphics App
2017
Nov. 04 • Save My News
2016
Nov. 17 • How Iowa voted
Nov. 08 • 2016 election results
Oct. 08 • First Python Notebook
July 18 • django-bigbuild
April 25 • python-desknet
Feb. 12 • django-postgres-copy
2015
Nov. 14 • StoryTracker
March 08 • First Django Admin
2014
Dec. 10 • First Web Scraper
Nov. 04 • 2014 election results
Nov. 04 • 2014 election results
Aug. 14 • storysniffer
Feb. 28 • First News App
2013
Nov. 11 • checkbook-la-watchdog
July 30 • uptime-grove
June 13 • pastpages2gif
June 13 • PastPages API
March 11 • lat-soundsystem
Feb. 04 • Silent LA
2012
Nov. 14 • Quiet L.A.
Nov. 06 • 2012 election results
Sept. 29 • copyboy
March 13 • django-bakery
Jan. 01 • python-elections
2011
Dec. 15 • django-softhyphen
Sept. 15 • django-yamlfield
Aug. 17 • python-googlegeocoder
Aug. 07 • jquery-geocodify
July 22 • latimes-statestyle
July 01 • PastPages
May 31 • python-lametro-api
April 14 • python-documentcloud
Feb. 27 • Billions to spend
2010
Dec. 31 • table-stacker
Dec. 14 • latimes-calculate
Nov. 07 • appengine-template
Sept. 30 • Mapping L.A.: Crime
Aug. 24 • Hollywood Star Walk
Aug. 05 • django-greeking
2009
Feb. 14 • django-correx
2008
Aug. 01 • L.A.’s Top Dogs
2007
May 22 • Collateral damage
2005