Carter Pape is a reporter
for The Times-Independent
in Moab, Utah.



NewsBot is a tool that runs scheduled tasks — chiefly web scraping — to automate some of the more rote parts of my and The Times-Independent’s workflows. Such tasks include gathering and formatting weather data that is used in the weekly print edition of the newspaper, checking for updates on investigations that we are following, looking out for new oil and gas lease sales in the area and more.

With each feature I have added to NewsBot, it has proven to be a boon to my team’s productivity. It has saved the office time by taking care of some of the routine tasks we typically face daily or weekly, affording us greater mental and temporal capacity to focus on the more important, less mindless parts of our jobs.

See the public parts of NewsBot on GitHub. is The Times-Independent’s website. Prior to May 2020, I maintained the website after developing it myself. Although the content on the site is protected by copyright, the source code from the previous iteration of the site (namely, the WordPress theme, called RedRock) has an open source license.

I had begun developing a paywall for the website to restrict access by non-subscribers via a monthly quota of free articles. The plugin, called RedRock Subscriptions, is built with Memberful, and is based on that company’s own WordPress plugin.

See RedRock on GitHub.


Praeci was a reporting project I created for presenting NC State and Raleigh news with a focus on succinct writing and attractive presentation. I built the website myself using Jekyll and GitHub Pages.

I customized a template built by Artem Sheludko, adding custom layouts and elements. I also built the site’s podcast RSS feed syndication, enabled by Amazon S3 for storage of podcast audio and by PodTrac download analytics.

See the Praeci code on GitHub.

Basic binary genetic optimization

This project was an excursion into genetic optimization. I built the original framework in Swift 2 to complete the simple task of genetically optimizing a data structure containing two floats to be as close as possible to a given pair of numbers. I later added a module that uses the genetic optimization to fit a polynomial of variable order to a set of points. I have also been updating the syntax to keep up with current Swift versions.

Swift is not the optimal language for building this tool. However, I used Swift anyway because I was interested to learn the language at the same time that I was thinking about building a genetic optimization framework.

See the project on GitHub.


write is a digital notepad that I have taken a break from developing. It is an app for macOS that provides focused, beautiful, and responsive word processing for web content writers. write responds to Markdown syntax, allowing writers and editors to see and do text formatting without lifting a finger from the keyboard. The app provides an environment for web content creation that is distraction-free and simple to use.

For more about write, read my introduction to the series of articles I am writing as I develop the app. You can also see the project on GitHub.

See the project on GitHub.

last updated May 14, 2020