Sitemap

My personal site (version 1.0)

Reflecting on building my personal site from scratch, in my spare time, over the past couple of months.

3 min readJul 25, 2021
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
  • 🕸 in my case, MihaiBojin.com — cost: ~$12/year
  • 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
  • I chose Gatsby Cloud — cost: 🆓
  • (but Netlify or Vercel are viable alternatives)
  • 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
  • 🧐 I set up Google Analytics — cost: 🆓
  • 🔍 Google Search Console — cost: 🆓
  • 🐦 and Ilo.so for Twitter — cost: $15.00/month
  • 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!

--

--

Mihai Bojin
Mihai Bojin

Written by Mihai Bojin

Software Engineer at heart, Manager by day, Indie Hacker at night. Writing about DevOps, Software engineering, and Cloud computing. Opinions my own.

Responses (1)