I recently announced the end of linkblog.io. I go into a bit of detail in this short indie hackers discussion thread. I wanted to do a quick retrospective to have something to refer to in future.

I’ve been running a linkblog for close to 10 years. In a lot of ways all the links I’ve posted chronicle my web development journey, but also just life in general. I found it a very useful tool and still do to this day. Somewhere along the way I decided to build a linkblogging SaaS product.

These were the high level goals of the system that emerged over time:

  • Robust implemenation that does what it was designed to do and does it well
  • Have a minimalist user interface, emphasis on text content
  • Easily scalable to handle growth
  • Deployable to standard VPS hosting
  • Fault tolerant and able to have zero downtime deploys
  • Resilient so that any server could be easily rebuilt from scratch using backups where necessary

From a technical standpoint I achieved all of these goals.

I wrote about Robust NodeJS Architectures earlier in the month, and this describes very closely what the linkblog.io infrastructure looked like.

Some other application level features and capabilities that are worth mentioning:

  • MongoDB sessions support
  • Redis sessions support
  • Rate limiting using Redis
  • JWT API authentication
  • API Caching using Redis
  • Backend job scheduling using Agenda
  • Backend message queues using MongoDB
  • Custom domains
  • SCA compliant billing system (Stripe + webhooks)
  • Production and staging environments

Implemented using bash scripts:

  • Repeatable server provisioning system
  • Application build and deploy system
  • Backup and restore of certificates and databases
  • Log file backup and cleanup
  • Certificate renewal

Most of these features were added as a necessity in response to real world events that happened during development.

Though the UI is quite minimalist and mostly text based, there was quite a lot going on underneath. The system could have been quite easily and safely extended.

Finally here are some screenshots of the UI:

Landing Page - Header

Landing Page - Header

Landing Page - Description

Landing Page - Description

Landing Page - Features

Landing Page - Features

Landing Page Latest News

Landing Page Latest News

User Linkblog Page

User Linkblog Page

User Post Message Page

User Post Message Page

User Archives Page

User Archives Page

User Search Page

User Search Page

User Edit Mode Page

User Edit Mode Page

FAQ Page

FAQ Page

User Billing Page - Fresh Load

User Billing Page - Fresh Load

User Billing Page - Add or Update Card Extended

User Billing Page - Add or Update Card Extended

User Profile Page

User Profile Page

User RSS Feed

User RSS Feed

That was linkblog.io!

If you liked this post you might find my daily linkblog interesting, and there's also a weekly newsletter.

For enquiries about my consulting, development, training and writing services, aswell as sponsorship opportunities contact me directly via email. More details about me here.

subscribe via RSS