Work

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

2024
2023
Nov. 26 • sphinx-palewire-theme
Nov. 18 • @RandomPigeonGPT
Nov. 17 • @NYCDataBot
Nov. 15 • atcf-data-parser
Oct. 30 • reuters-style
Sept. 11 • Who blocks OpenAI?
Aug. 10 • fed-dot-plot-scraper
March 04 • moneyinpolitics.wtf
Feb. 16 • @reutersjobs
2022
Nov. 07 • The Drudge Dashboard
Sept. 05 • @DivineAnnDvorak
Aug. 21 • @LAXWeatherBot
Aug. 01 • storysniffer
March 29 • prefect-flow-template
March 12 • @newshomepages
March 05 • First Visual Story
March 04 • First GitHub Scraper
Feb. 18 • warn-transformer
Feb. 18 • warn-github-flow
2021
Oct. 17 • @sanbornmaps
2020
Dec. 26 • studs-terkel-podcast
Aug. 23 • Reading Ruben Salazar
2019
Nov. 01 • deadspin-scraper
Aug. 15 • nyc-parks-logo
July 27 • the-other-americans
June 30 • noaa-wildfires
June 30 • geomac-wildfires
June 30 • nasa-wildfires
June 30 • calfire-wildfires
June 24 • census-error-analyzer
May 10 • latimes.com/tips/
April 28 • OldLAPhotos
April 26 • hsr-documents-analysis
April 05 • usa-style-guides
April 01 • census-data-downloader
March 28 • swana-census-analysis
March 17 • mlbcolors
Jan. 18 • python-muckrock
Jan. 16 • tijuana-districts-map
Jan. 05 • muckrockbot
2018
Dec. 27 • nyrb-covers-analysis
Dec. 08 • Altair
Nov. 06 • How many women won?
Oct. 28 • W.E.B.Du Bois in d3
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 • PastPages API
June 13 • pastpages2gif
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