Most things take a long while to build. Good results require time and iteration, and that perseverance is challenging. But old problems can provide a persistent counter force.
I took this advice literally when I embarked upon my current side-hustle, and reignited the problem behind my first paid software gig. Fourth time is the charm!
I was studying architecture in my second year of graduate school over a decade ago when I saw a flyer requesting help with website maintenance. The organization was called NEXT.cc and its website contained sets of educational journeys focused around design and environmental stewardship.
When I first started, everything was static and manual. Each webpage — and there were hundreds — was an individual HTML file that contained the entirety of the layout and navigation. It only took one requested change to the layout for me to implement a basic templating solution.
More requests came in. There were new journeys, and more activities within them, as well as their questions and answers and each activity’s gallery entries. The journeys were also associated with scales and subjects, which occasionally needed to change. Soon enough I had build a custom CMS so that contributors could make changes themselves working only with concepts they were already familiar with.
The original implementation was also my first Ruby on Rails program. I iterated on it a few times over the course of a few years, and I reduced the implementation enough to wonder: can I reduce it away, and instead build a general solution to this specific problem?
And so I’m going to find out. I don’t exactly know where the project will lead, but I keep thinking it looks like a database, only different. I’m excited to work on an old problem again!