In addition to software and web development experience, I also possess specialised knowledge working with political data across several roles. On previous roles I worked with Congressional campaigns across multiple states, several state politcal party organizations, the DNC, and over a dozen down-ballot campaigns.

Descriptions of the tools and tasks I have engaged with over several years of campaign experience are below.

Voter Targeting

RS Logo

Renegade Squirrel

Through Renegade Squirrel I provided voter data consultations to numerous down-ballot campaigns across North Carolina. The consultations provide data showing how to break down the electorate in a candidate's district to reach their Win Number. The targeting provided in this process is used in the software to create Tiers of voters for campaigns to contact.

The targeting work breaks down to the Precinct level and has been given to campaigns ranging from School Board races covering a few Precincts to Congressional races in districts covering several counties.

Shahid Logo

Shahid Buttar for Congress (2020)

I held the Data Director role on this campaign through the "Super Tuesday" Primary in March 2020. Targeting work on this campaign included building custom targets inside PDI using the PDI data and the CA voter file. I also helped filter through donor data to pick good targets for candidate call time and other fundraising efforts. My candidate successfully made it through the top-2 cutoff and advanced to the general election.

Campaign Tech Tools experience

I have experience working with many different campaign tech tools over several years of campaign work. Experience from tools I've worked with is listed in alphabetical order below:

Excel Logo


GetThru Logo


Google Sheets Logo

Google Sheets

VA Dems Logo


Reach.Vote Logo


Spoke Logo


VAN Logo

VAN / Votebuilder

Working with large datasets

Handling big data efficiently is no small task.

I regularly work with very large datasets including state-wide voter files, the FEC individual contributions database, and contact history files spanning millions of rows.

In 2020 I implemented a feature in Renegade Squirrel to report on returned absentee ballots in North Carolina. I built a utility on the back-end to monitor the NC Board of Elections' absentee file and load a fresh copy of that file into the system on a daily basis. I learned a lot about how to manage large data sets in C# when that file quickly ballooned to over 5 million rows! Using techniques such as batching data, removing processed rows from memory (and only keeping so many rows in memory at any one time), and SQL bulk copying allowed me to handle this amount of data and provide my clients with timely updates on the absentee and early voting situation over the course of the election.

Raising money for campaigns with donor data

ActBlue Logo


CallTime.AI Logo


Working with FEC donor data

On a couple Congressional campaigns I matched existing donor data with FEC records to fill out donor history and other useful information to aid in fundraising. I have extensive experience building queries that makes searching and matching data to FEC records hosted on Google BigQuery painless.


GIS and Geocoding voters

Carto Logo


Renegade Squirrel view list page screenshot

Renegade Squirrel

Custom Google Maps are used throughout Renegade Squirrel to show where voters are located on Walk or other voter lists generated by the system. The maps use Google's Maps API along with JavaScript to configure the markers, zoom level, click events, etc. I also have created one-off maps for clients using Google MyMaps and imported voter data.

BI & Data Visualization

I have experience using several BI & visualization tools to produce reports for campaign stakeholders, as well as testing some tools in this space for research purposes.

Database / SQL experience

Query features I have experience using includes, but is not limited to:

Database systems I have experience working with:

ETL & Automation experience

Automating the boring stuff with Selenium

I have used Selenium to automate navigating websites in two places. One was at Aeroflow where Selenium was used as part of Unit Tests I wrote to test various online forms with valid and invalid data to make sure the correct behaviors are being observed. The other place was on the VA Coordinated Campaign where I used Selenium to automate moving data between multiple political tech tools to build daily refreshes of textbanking lists.

Extract / Transfer / Load (ETL) development

ETL processes are a key component of Renegade Squirrel's back-end system. I have console applications that download and process voter data, update voter data to track changes between updates, update campaign data, and load absentee ballot data. I also have written similar programs for previous employers.

Data cleaning & conversion

Pandas logo

Python / Pandas

I wrote Pandas scripts to clean and format phone numbers (ex: validating correct lengths, handling international formats, working with special characters, etc.), de-duplicate rows, and standardize names. I also wrote numerous Pandas scripts to convert data exported from a voter file or one political tech tool to import into other tools.


pdf resume doc resume

Back To Top