I split the time I spend programming between coding projects and web development. The first means content management systems for the most part, which gave rise to the side business I started in 2014. Although at times I have focused on other things, like a news scraper that predicted the best time to submit a link to Y Combinator's popular social news site, Hacker News, I had little incentive to develop those applications past the preliminary stages.

My second main focus, web design, came about as a complement to my work on content management systems. I have yet to come across a single client wanting a back-end without the front-end, user-facing website to go along with it, so I often roll the two into one package. Below I have listed a few projects of both types--some done for myself, some for others--with links to code repositories where appropriate, and actual websites where not.

Coding Projects

First Crack

Having tried several of 2012's most popular content management systems, I arrived at the realization that nothing could meet my needs as well as something I built myself. After a few months of work, I began running my website on something I called First Crack. Inspired by Marco Arment's Second Crack as described on episode eighteen of Build & Analyze, my system grew over the years but has remained true to its core throughout its development. Given a directory of articles formatted in Markdown and saved as plain text files, First Crack will generate a static website of over a thousand pages in less than two seconds. I have written about this application in the past, so I will leave those articles and the project's GitHub page to do the rest of my explaining.


HN Scraper

My obsession with Hacker News began when I woke up to see that one of my articles had attracted over fourteen thousand pageviews in the last twenty-four hours. After some digging, I discovered that--unbeknown to me--one of my readers had submitted the post to Y Combinator's social news aggregator and it had made its way to the front page. After failing to replicate that success, I started looking for ways to optimize the process by which I sought to bring my writings to the site's visitors' attention. If I could find a way to measure the site's activity without having access to its analytics, and if I could find a way to gauge the rate at which new submissions were gaining traction in particular, I figured I could predict the best times to make my submissions with the goal of attracting the most visitors possible. Other websites, like the now-defunct HN Pickup and the more recent HN Notify had already proved the concept, I just needed to replicate the results.

Gathering the raw data proved much easier than I had anticipated, but I hit a stumbling block when it came to making sense of all that information. I took a few runs at it, but to no avail. Soon after that, I shifted my attention elsewhere. I have not put enough work into the code to warrant its own GitHub repository, so I have nothing to show for my work yet, but I decided to write about this project here in spite of that, hoping that doing so would spark enough interest to get development back on track.


Web Development

Youngstown State University Field Investigations in Geology Course

This website provides information for students considering enrolling in the Field Investigations in Geology course at Youngstown State University. Although also equipped with an interactive Google maps implementation, the headlining feature of this site is its many rotating photo galleries used to show students doing field work out in San Salvador, in the Bahamas. A small content management system generates everything here, from the galleries to the map and the pages each of those locations link to after a brief description of the point.


Smith Mineral Museum

The first website I created for the Department of Geological and Environmental Sciences, I made this one for the University's mineral museum. The museum's curator needed to have the ability to make changes once my college career came to an end, so I opted to use Squarespace instead of my usual approach of building a custom back-end and then using it to generate static structure files. With a simple, easy-to-use interface, whoever manages this site after me will not need a great deal of expertise to do so — mission accomplished. Squarespace does a great job of streamlining the web development process, but due to the inherent limitations of building off of someone else's work, I prefer to tailor each project to my customer's needs with the made-to-order setup I used to build every other website on this page.