The Beginning

An overview of the creation of my website

I've always wanted to create my own website but never really got around to making it. It's surprising how long it took me to finish [ ~2 months ] because I don't think this website is that elaborate or complex. Regardless, I wanted to make a quick post on how and why I created my website.

I hope this post hopefully be helpful to those of you looking to create your own website or those just curious about my motivations.


Why

While there are various reasons for creating a website, I made mine for fun, nothing more and nothing less.


Background

Although I did have programming experience beforehand, this is my first production-ready website.


Getting Started


Choosing a Framework

There are a variety of web frameworks, so many that they can be a little overwhelming at times.

Here's a quick overview of the frameworks that I considered:

  • PHP
  • Django
  • Rocket
  • React [ Vue & Gatsby ]

And although I could go over why I didn't choose each specific framework, I don't think it matters.

What does matter is that I choose Next JS because of SSR/SSG and ease of use (JSX is very readable).


Switching to Typescript

Typescript is a superset of Javascript that predominantly allows you to add static types to your variables. It also does a bunch of other stuff; Search it up!

There seems to be this stigmatism in the Javascript community against Typescript. No experienced developer will refuse to use a technology that will save them from blunders and time in production.


Implementing MDX

Markdown is a file format that is quite popular and makes your blog posts cleaner and easier to read.

MDX adds JSX to Markdown to allow you to use React components in your Markdown files. Using MDX was quite a pain because I tried to do my own implementation. If you're trying to use MDX, do yourself a favor and follow this guide.


Finish

And that's it!

There are more nitty-gritty details about how this website was made, but this post should have covered most of the fundamentals. I might make a more technical overview in the future, but for now, that's it!