Democratic campaign data analyst

I turn political data into Democratic wins.

I build targeting models, turnout projections, and precinct-level analysis tools that help campaigns make smarter decisions about where to spend time and money.

Turnout projections

Precinct analysis

Production civic data tools

Selected work

Work That Wins

Two projects built around the same question: what does a campaign need to know right now to make a better decision before the window closes?

Turnout Monitoring

Travis County Early Vote Dashboard

Tracks hourly early vote totals and projects final county turnout using historical daily vote patterns from past election cycles.

How campaigns use it: Identifies underperforming turnout in real time so field directors can surge volunteers, adjust canvassing routes, or deploy last-minute resources to specific precincts before polls close.

  • Python
  • Data Visualization
  • Historical Election Data

Production Civic Data Tool

NYC Poll Wait Time Tracker

A live primary-day tool that grouped polling place wait times from New York City's API by district and precinct while layering in expert turnout expectations.

How campaigns use it: Identifies polling place bottlenecks and turnout friction in real time so field and voter protection teams can respond where voters need help most.

  • Python
  • JavaScript
  • HTML/CSS
  • NYC Open Data API

About

Why I Do This

I'm James Gardner Thornhill, a data analyst who builds tools that help Democratic campaigns find voters, understand turnout, and win elections.

I got into political data because I couldn't stop asking the question underneath every result: what do the numbers actually say once the assumptions fall away? That obsession turned into precinct-level models, turnout analysis, and a habit of watching election returns and seeing something different than what the headlines said.

I believe the campaigns that win are the ones that make smarter decisions about where to knock doors, where to run ads, and where to send the candidate. I build the tools that make those decisions smarter.

Contact

Let's Win in November

I'm looking for data roles on competitive Democratic campaigns for the 2026 cycle. If you're building a data operation, let's talk.