Hello there!

Associated Press Interactive News Editor
(Sept. 2022 — Feb. 2024)

Doubled a broad team of developers and designers, implemented two-week sprint cycles and Agile ceremonies, and mentored creative engineers to make engaging features for longform and live event journalism. I focused on triaging requests daily while identifying longer-term end-of-life deadlines to alleviate technical debt and accelerate the teams’ production capacity. In the process, I doubled the team’s size and created a roadmap for expanding the company’s election graphics products and editor suite.
Skills: Code & Story Editing, Technical Strategy, Scrum, Core Web Vitals, Design Systems

Projects

2022 - 2024 Elections (editor)

2022 - 2024 Elections

Triaged bugs, prioritized backlogs, and managed stakeholder expectations along with technical debt across the globe leading up to and throughout election night. By emphasizing an approach that relies on static data files and server-side generated visualizations, the team distributed translatable and embeddable graphics to news organizations worldwide.

"Thousands of kids are missing from school. Where did they go?" (editor)

"Thousands of kids are missing from school. Where did they go?"

Coordinated with developers, researchers, and stakeholders on a custom React presentation via Asana. Using design critique principles, I edited the graphics to help contextualize the issue using a scrolling graphic that steps readers through the effects of COVID on student populations. (2024 National Reporting Pulitzer Finalist)

The Atlantic Senior Software Engineer, Reader Experience
(Nov. 2019 — Sept. 2022)

Created and collaborated on award-winning features, rebuilt the website, and published enterprise stories biannually, focusing on media elements, accessibility, and performance. While at The Atlantic, I learned TypeScript and contributed to integration tests for interactive media elements and pages. By establishing a contract with the Django API, I migrated sections iteratively with the team and built out custom presentations for some of their best reporting.
Skills: TypeScript, Canvas, Next.js, Svelte, GraphQL, Django, SEO, Next-Gen Images & Video

Projects

"The Secret History of Family Separation" (senior developer)

"The Secret History of Family Separation"

Worked closely with developers, designers, art directors, and editors to produce the 2023 Explantory Pulitzer story in English and Spanish by ensuring the custom Next.js code was responsive and performant. Specifically, I focused on integrating the look of the print graphics to help create a cohesive digital and print presentation for readers. Scrolling through the story creates waypoints where readers can stop and return to the same section.

Shadowland (lead developer)

Shadowland

An interactive hub built in Svelte for digital and print stories about conspiracy theories in America featuring a mix of canvas and SVG animations that lead to a secret 3D timeline. I was a technical lead on this project, choosing Svelte to focus on interactive design elements tied to scrolling. In addition to code reviews and debugging, I helped deliver the project on time while mixing SVG and canvas animations

Axios News Products Senior Developer
(Jan. 2017 — Oct. 2019)

As the first full-time engineer hired, I constructed CMS features and API endpoints to embed interactive graphics. Built Axios' first election graphics framework and maintained election microservices. Additionally, I built an internal charting tool using D3.js and Next.js that focused on helping reporters make line charts on deadline.
Skills: React, Next.js, Jest, GraphQL, Django Rest, AWS Lambda, Jenkins, ai2html

Projects

Eden (developer)

Eden

A CMS designed for efficiency and made with empathy for visual journalists integrated with the Django Rest API using OEmbed and GraphQL. The team focused on creating pared-down interfaces that let editors and writers focus on succinctly communicating. Following these principles, I developed stateful integrations into the text editor to preview various media within the editor as a reader would see it.

2018 Midterm Elections (developer)

2018 Midterm Elections

Developed microservices (data fetcher & automated screenshots) using AWS Lambda for dozens of live primary and election results embeds and synchronized updating graphics on Apple News. By relying on a serverless infrastructure, we covered the midterm election for pennies while updating multiplatform graphics by the minute.

Vocativ Interactive Producer
(Jun. 2015 — Nov. 2016)

Ran data analyses and publishedweekly visualizations for one to two stories and engineered newsroom tools and applications every two weeks.
Skills: D3, Sass, Electron, Pitching & Reporting

Projects

DataProofer (lead developer)

DataProofer

A downloadable command line app and desktop app (deprecated) for proofreading spreadsheets funded in part by the Knight Foundation.

Death Day (lead developer)

Death Day

Choose your adventure in this animated, mobile-friendly interactive story.

The Marshall Project Interactive Reporter
(Sept. 2014 — May 2015)

Programmed biweekly interactive graphics about the criminal justice system and reported on and researched digital crime. While there, I gathered data and developed contacts within the system: researchers, lawyers, advocates, and government officials.
Skills: D3, CSS, R, Pitching & Reporting

Projects

Shifting Away from Solitary (reporter/developer)

Shifting Away from Solitary

More states have passed solitary confinement reforms in 2014 than in the past 16 years. Created SVG elements that I animated with a JS timer function to help visually tell the story

A Pirate's Booty (reporter)

A Pirate's Booty

The Feds acquire a confusing asset: Bitcoin. I used R to find the story of a complex asset seizure and created a custom graphic to accompany it as I did the reporting.

ProPublica Web Producer
(Feb. 2013 — Sept. 2014)

Designed custom story layouts weekly and commissioned photos and illustrations for stories co-published with the New York Times Magazine, Boston Globe, Daily Beast, and VICE. Specific engineering contributions included improving article QA tests, developing a CSS grid for homepage redesigns, and templatizing story elements such as timelines, inserts, and sidebar graphics.
Skills: Web Design, Typography, HTML, CSS, Ruby

Projects

For a Respected Prosecutor, an Unpardonable Failure (producer)

For a Respected Prosecutor, an Unpardonable Failure

Created a custom article using a few reporting images to help tell the story of a prosecutor who convicted an innocent man.

The Military is Leaving the Missing Behind (producer)

The Military is Leaving the Missing Behind

Coordinated with reporters and graphics developers to produce a custom feature article with interactive elements about the military's failure to give families closure.

Mapbox Data Analyst
(Oct. 2013 — Feb. 2014)

Reverse-engineered enterprise sites with custom, open-source mapping software for clients such as Foursquare, Mozilla, and DuckDuckGo. After downloading a client's website, I'd create working mockups for clients with new maps designed by other team members.
Skills: GIS, Node.js, HTML, CSS, Bash

Projects

Mozilla

Mozilla

Integrated web maps into Mozilla's Location Services, a project to provide geolocation lookups based on cell tower and WiFi access point information.

FourSquare

FourSquare

Demonstrated how to use Mapbox.js to create custom branded maps with Foursquare data, which later became the official maps of FourSquare.

NPR Visuals Intern
(Jun. 2013 — Aug. 2013)

As an intern, I pair-programmed NPR's largest news app—its responsive editing interface, routes for reading and writing data, and an embeddable widget for member stations. I learned key concepts like object-relational mapping, routing delete requests, and data validation that summer.
Skills: HTML5, CSS3, JavaScript, Python

Projects

Playgrounds for Everyone (developer)

Playgrounds for Everyone

A community-edited guide to inclusive and accessible playgrounds for parents.

Houston Public Radio Intern
(Dec. 2012 - May 2013)

Co-produced stories for the web, created graphics in R, and shot and edited photos and audio.
Skills: HTML5, CSS3, JavaScript, R

Projects

NRA Annual Meeting | 2013 Houston, TX (photographer)

NRA Annual Meeting | 2013 Houston, TX

Photo slideshow

Driving Demand for Personal Protection (producer)

Driving Demand for Personal Protection

Every year, thousands of Harris County residents apply for concealed handgun licenses or CHLs, with more and more applications being filed since the Newtown shooting.