52
My personal site (version 1.0)

π 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).
Here are the necessary components, in my opinion, for a developer blog (in 2021):
- πΈ in my case, MihaiBojin.com - cost: ~$12/year
- π 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)
- I chose Gatsby Cloud - cost: π
- (but Netlify or Vercel are viable alternatives)
- β΅οΈ I'm not a designer, so I settled for buying TailwindUI - cost: 250β¬ (lifetime purchase)
- π’ I'm hosting my code on GitHub
- πͺ and triggering builds using a webhook that sends events to gatsbyjs.com
- π§ I integrated ConvertKit - cost π for up to 1,000 subscribers
- π§ I set up Google Analytics - cost: π
- π Google Search Console - cost: π
- π¦ and Ilo.so for Twitter - cost: $15.00/month
- π± 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!
52