Sun Dec 27 2020

Reinvent the wheel

You've heard it before: "Don't reinvent the wheel." "If it ain't broke, don't fix it."

If you're trying to make a product, sure. But as an exercise, reinventing the wheel is a great way to learn, gain experience, and keep the wheels turning.

Take this blog for instance. There are more off-the-shelf blogging solutions than I could shake a stick at. But I wanted a project, and I wanted to be able to publish whenever I push markdown files to GitHub. GitHub pages makes publishing easy, but I would need:

  • A process to convert markdown to HTML or JavaScript
  • A way to run a folder full of markdown files through that process
  • A way to lazy load the posts so the page doesn't get bogged down as I publish more posts
  • Styling

And then a few stretch goals:

  • Search or tags
  • Subscription
  • Other stuff that comes up

Not terribly complex, but something to chew on in my spare time. Reinventing the wheel is a way to reframe something familiar. Reverse engineer a known solution into the problems it solves, and then explore how else you can solve those problems.

EDIT: See my update