I'm a senior newsroom developer at National Geographic. Before that I was a developer for Protocol (RIP) and Heasrt Newspapers. I started my career reporting for a small newspaper in Wyoming but fell in love with coding from CS50, online intro to computer science course.
Personal Project
An AI-powered app to automatically generate multiple choice questions from an article.
Personal Project
Campr is an application that checks for campsite availability at certain Minnesota State parks every 6 hours for summer weekends and emails me if they're available. Reservations fill up fast so the app effectively checks for cancellations. The app has a built in CI/CD pipeline via github actions to deploy it as an AWS Lambda function, and it uses Sendgrid to send me emails.
National Geographic
I extended our Vite-based build tool to generate svg graphics on the server side using D3.js. I also analyzed the data behind the maps with Python and developed the story idea.
National Geographic
I created the interactive graphics for this page using OpenSeaDragon to serve a tiled image and D3.js to construct a route across it that you follow as you scroll. The graphic lets you follow the route of the first circumnavigation of the world. The page is written in Javascript.
Protocol
I wrote this node app to sync subscriber data between two systems. The APIs natively allowed updates in one system to be sent to the other but not back the other way. This meant when someone unsubscribed from a newsletter via an email link that would not be reflected on their account when they logged into Protocol's website. My node app ran on an EC2 server and tapped into the MailChimp and Zephyr APIs so user data would be synced across both systems.
Hearst Newspapers/San Francisco Chronicle
I rewrote the app that provides live election results for the San Francisco Chronicle, Houston Chronicle and all other Hearst newspapers. It scrapes election results and grabs data from the AP's election data API then it into a MySQL database and transforms it into JSON files formatted for live results pages that include tables and charts. I rewrote the app from Perl to Python and then expanded it to handle all Hearst papers, added features so it run on an AWS server in the cloud and managed updates to it through several election cycles.
Hearst Newspapers/San Francisco Chronicle
I used Python to process Census and geographic data and then upload it to Mapbox through their APIs. Then helped build an interactive React app that shows you Census data about the neighborhood for any address in the U.S. It uses Mapbox's geocoding and point-in-polygon APIs to pull in the Census data for those coordinates from Mapbox.
Hearst Newspapers/San Francisco Chronicle
I was one of two developers who made a vaccine tracker for five metro areas and half a dozen smaller papers. I did most of the backend work to make a Python app to scrape several data sources, do some calculations, reformat the data and save it where our front end could use it. We created the interactive graphics using React.
Bookbaby
I wrote a book! It’s an oral history of my grandpa. It started as a personal project but now is out in the world. My cousin worked on it with me
Eric Blom
I made this website with Vite and Netlify.