For years, I've been rebuilding this website to learn new things and to have a nice website for myself. Year after year, I try different tech stacks, design approaches, and platforms, and this time around I decided to do something differently.
My primary goal is to learn new tech and build a nice site. Over the years, I've collected an endless list of things I want to implement on my personal site, but for the longest time I tried to find an existing product I can use and that meets my requirements.
Unfortunately, building on top of my existing blog is not really viable (or flexible enough). At this moment, my main site runs on Ghost hosted on Digital Ocean. Even though Ghost has a nice CMS interface and somewhat works with static frontends, It's not flexible enough for what I want to do. As a result, I'm doing a full rebuild, from scratch.
Last year I tried live coding on Twitch, and it worked out pretty well. I got some viewers and even subscribers, but more importantly, I worked out my imposter paralysis. Sharing my coding sessions live with an unknown group of people made me realize that I know enough to share my knowledge and make it helpful to others. It's also fun, I must add ;)
This time, with a throve of new experience and new knowledge I want to share more and more regularly. I will build individual components, design and re-design the site, and poke around many things I know literally nothing about at this moment. Fun, right?!
It's fair to say that I don't have a solid plan to follow. I do track some of the ideas on GitHub, but it's very much a work in progress. But generally, the plan is to start with what I've built so far and proceed until I'm happy with the results. I don't think it's the kind of work that has an end, but I'm going to build and improve a bunch of things, from the look and feel to the personal library and CMS plugins along the way; we'll add comments to the blog posts, contact forms, and a bunch of serverless functions. I plan to live stream whenever I can with the goal of streaming whenever I work on this project.
So far I've bootstrapped a Gatsby website with [Sanity](https://sanity.io) as a CMS hosted on [Netlify](https://netlify.com). Santy actually warrants a whole separate blog post: I really dig it and enjoy it enough to build a plugin :) I use Tailwind for styling, Auth0 for identity, and user management, and will be using Mux for live streaming on the website and Stripe for subscriptions and such. Quite a few things to learn and implement!
In this installment, let’s talk about what it takes to start over and why perfect is indeed the enemy of good.
For the past few months, I’ve been rebuilding my website. This time, I’ve built it from scratch, with these two hands. In this post, I want to take a deep dive into what and how I built, and what’s next.