Moving from Flask to Hugo

18 December 2018

I have been planning to rejuvenate my personal website / blog with a new backend for a long time. I have finally moved to Hugo after messing with different kind of tech stacks over the time.

I have moved every single feature to Hugo successfully, but There are a few things that don’t fully work yet, but for the moment, I’m happy with my new site.

For now, Everything is in a private repository, but I hope eventually it will be publicly available (of course) on Github hopefully with some good posts.

This post is not intended as walkthrough on how to do it, but simply sharing my experience hoping to impart some useful knowledge along the way.

The reasons why I left Flask (or any other Dynamic backend)

  • Security (static is definitely more secure)
  • Maintenance (You have to spend time on maintenance even with autobackup)
  • Cost (5$ in a month is not too much, but free is better)


  • Hugo is written in Go and therefore incredibly fast.
  • It’s just a single executable with no external dependencies.
  • It’s written in Go and the installation is incredibly easy using Homebrew:
  • Low maintenance efforts. No regular updates and backups required.


  • Hugo’s template language is really sucks.
  • You are limited to Hugo feature set.
  • You have to use 3rd party commenting system like Disqus.
  • You have to use 3rd party search system like Algolia.
  • You have to find a form handling system. Fortunately Netlify have it.
Tags: hugo netlify github