This visual was inspired by tree rings to show the year-to-year growth – and shrinking – of Connecticut tax revenue.
Built with: D3
This graphic uses d3 force simulation and scrolly story-telling to illustrate the number of people let out on bail at each pretrial phase in Connecticut.
Built with: D3, graph-scroll
As far as I know, this was the most comprehensive election liveblog of any news outlet in the state of Connecticut.
Since we don’t have an AP subscription, I found an undocumented way of extracting live election results from the Secretary of the State’s then-new election results portal in real-time. We had live results from the presidential, Senate and Congress races, as well the state legislature races, with the ability for our chief political reporter to manually call elections for any candidate in the system.
In addition to major races, I created a ballot page that shows the results of every item on every ballot in every town in Connecticut, down to races for treasurer, registrar, and even positions that only exist in a few towns, such as representative town meeting (“RTM”) seats.
Built with: Django, D3, deployed to AWS Lambda/S3 and then later migrated to Heroku.
This graphic uses a reader-challenge to illustrate the state’s pretrial risk assessment in more concrete terms.
Built with: D3, typewriter-js
This app seeks to answer the question – would you be better off doing your job in another state? It compares location-adjusted income data for various occupations, and generates story copy dynamically based on the state and occupation you select.
Built with: Django, D3
This was a fun one – daily photographs from state park cameras to illustrate the changing season.
I built a scrubber, which each day indicated by a thin rectangle whose color was based on the most dominant color of that day.
Colleague Andrew Ba Tran computed the most dominant colors and I built the web interface.
Built with: D3
This was an ambitious blog and database combiantion, with profile pages for traffic stop data for three levels – statewide, police department-wide, and individual officer stats.
Built with: Django, Highcharts, D3
This database contains individual presidential campaign contributions from Connecticut residents during the 2016 election cycle.
In addition to retrieving the individual contribution records, this database offers useful transformations – you can group contributions by town, candidate, contributor occupation and view summaries for each grouping.
This was an ambitious feature set, but I think most users did not realize how or why to use these transformations.
Built with: PHP, MySQL, datatables