DEV Community

Mihai Bojin
Mihai Bojin

Posted on β€’ Originally published at mihaibojin.com on

My personal site (version 1.0)

Photo: Version 1
"Photo by Jon Tyson on Unsplash"

πŸ”” This article was originally posted on my site, MihaiBojin.com. πŸ””


A couple of months ago, I set out on a journey to build a personal site from scratch. If you're curious, I wrote about my motivation at the start.

One of my goals was to build and host my site for free (well, mostly free anyway).

I initially wanted to use a hosted service such as Medium or Substack, but I was swayed by listening to many other creators; owning your content is the way to go!

Here are the necessary components, in my opinion, for a developer blog (in 2021):

  • Web domain
  • Fast frontend, e.g., GatsbyJS
    • πŸš€ JAMstack has become the de-facto choice for content websites
    • β™Ί support for SSG
    • ⬇ content rendering with Markdown
    • πŸ”Ž good out-of-the-box SEO
    • πŸ’Ό RSS feed generation
    • πŸ—Ί sitemap generation
    • ⚑️ Accelerated Mobile Pages support (via plugins)
  • Cloud hosting solution
  • Decent UI
    • ⛡️ I'm not a designer, so I settled for buying TailwindUI - cost: 250€ (lifetime purchase)
  • CI/CD pipeline
    • 🚒 I'm hosting my code on GitHub
    • πŸͺ and triggering builds using a webhook that sends events to gatsbyjs.com
  • Ability to send newsletters
    • πŸ“§ I integrated ConvertKit - cost πŸ†“ for up to 1,000 subscribers
  • Analytics and SEO
  • Content syndication
    • πŸ”‰ I cross-post to Medium using Zapier - cost: πŸ†“
    • πŸ“¬ I cross-post to Dev.to (using RSS)
  • Social posts
    • πŸ“± I schedule social posts using Missinglettr - cost: $19.00/month

Total monthly cost: $35.00/month.

It took me a few months of working in my spare time to get here. It's not perfect, but it's a good start that enables me to write and publish content that I own 100%.

My initial plan was to write about Software Engineering. However, I started having fun while learning GatsbyJS, GraphQL, and refreshing my Javascript/React skills.

So I took a slight detour and wrote about building my site, building in public.

While I like what I achieved with Gatsby, I found myself fighting it while trying to achieve various outcomes. Also, some of the promises it makes are downright false; one such example is support for ⚑️ AMP. This should be achievable through a third-party plugin, but in my experience, that plugin is challenging to work with.


This leads me to my "next" adventure (pun intended) - the second version of my site!

I have been looking with great interest at NextJS 11. Friends tell me it's "the way" to do React nowadays. It has all of Gatsby's capabilities and more. But most importantly - it relies much more on vanilla JS/TS instead of custom (and mostly unmaintained) GatsbyJS plugins.

I don't know when I'll have time to start this project; I expect it won't be any time soon.

For now, my current stack works and allows me to focus on what really matters - my content. But I can't shake the feeling that my code is getting messier by the day...


If you liked this article and want to read more like it, please subscribe to my newsletter; I send one out every few weeks!

Sentry image

See why 4M developers consider Sentry, β€œnot bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

πŸ‘‹ Kindness is contagious

Please leave a ❀️ or a friendly comment on this post if you found it helpful!

Okay