My personal site (version 1.0)
Tags: personalsite, version1, blog, gatsby
Published: 2021-07-25 13:05:22

---
title: My personal site (version 1.0)
published: true
date: 2021-07-24 00:00:00 UTC
tags: PersonalSite,Version1,Blog,GatsbyJS
series: Building a developer blog with GatsbyJS
canonical_url: https://MihaiBojin.com/personal-site/v1
---

![Photo: Version 1](https://MihaiBojin.com/static/c3443a9fb2790c048ced8344267ff8dc/15b4d/jon-tyson-jy8z4NBIYSQ-unsplash.jpg)<figcaption>"Photo by <a href="https://unsplash.com/@jontyson?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Jon Tyson</a> on <a href="https://unsplash.com/s/photos/one?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a>"</figcaption>

🔔 This article was originally posted on my site, [MihaiBojin.com](https://MihaiBojin.com/personal-site/v1?utm_source=external&utm_medium=organic&utm_campaign=top-promo "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](https://MihaiBojin.com/personal-site/building-a-personal-site?utm_source=Medium&utm_medium=organic&utm_campaign=rss) 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](https://medium.com) or [Substack](https://substack.com/), 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](https://MihaiBojin.com/?utm_source=Medium&utm_medium=organic&utm_campaign=rss) - cost: ~$12/year
- Fast frontend, e.g., [GatsbyJS](https://www.gatsbyjs.com/)
  - 🚀 [JAMstack](https://jamstack.org/) has become the de-facto choice for content websites
  - ♺ support for [SSG](https://jamstack.org/generators/)
  - ⬇ content rendering with Markdown
  - 🔎 good out-of-the-box SEO
  - 💼 RSS feed generation
  - 🗺 sitemap generation
  - ⚡️ [Accelerated Mobile Pages](https://developers.google.com/amp) support (via plugins)
- Cloud hosting solution
  - I chose [Gatsby Cloud](https://www.gatsbyjs.com/products/cloud/) - cost: 🆓
  - (but [Netlify](https://netlify.com) or [Vercel](https://vercel.com) are viable alternatives)
- Decent UI
  - ⛵️ I'm not a designer, so I settled for buying [TailwindUI](https://tailwindui.com/) - cost: 250€ (lifetime purchase)
- CI/CD pipeline
  - 🚢 I'm hosting my code on [GitHub](https://github.com)
  - 🪝 and triggering builds using a webhook that sends events to gatsbyjs.com
- Ability to send newsletters
  - 📧 I integrated [ConvertKit](https://convertkit.com/) - cost 🆓 for up to 1,000 subscribers
- Analytics and SEO
  - 🧐 I set up [Google Analytics](https://analytics.google.com/analytics/web/) - cost: 🆓
  - 🔍 [Google Search Console](https://search.google.com/search-console/) - cost: 🆓
  - 🐦 and [Ilo.so for Twitter](https://ilo.so/mihaibojin/) - cost: $15.00/month
- Content syndication
  - 🔉 I cross-post to [Medium](https://medium.com) using [Zapier](https://zapier.com/) - cost: 🆓
  - 📬 I cross-post to [Dev.to](https://dev.to) (using RSS)
- Social posts
  - 📱 I schedule social posts using [Missinglettr](https://missinglettr.com/) - 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](https://twitter.com/hashtag/BuildingInPublic).

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](https://developers.google.com/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](https://nextjs.org/blog/next-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](https://motivated-founder-807.ck.page/db1cf284bf "newsletter link"); I send one out every few weeks!