A fresh start
I made a commitment that I will achieve all of my 2021 personal goals list this year and to intentionally be productive by budgeting my time more effectively. One of my goals is to establish this site (I used to have a .com site but I retired it in 2017) and use it as a platform to document my progress through projects, writings, and videos. I built the site from scratch utilizing modern tooling.
Tools of the trade
I decided to use Javascript as the main language to build everything upon because I felt that it is the right fit for the job. I started choosing my set of tools around this language and I ended up with the following:
Typescript — static typing
ReactJS — UI library
NodeJS — Javascript runtime
NextJS — ReactJS framework
TailwindCSS — CSS framework
Markdown — markup language
GitHub — versioning and repository
The first week involved learning and understanding the NextJS framework. I got the idea to try and use NextJS based on React's Recommended Toolchains. This was my first time using it so I had to follow along tutorials and created the components one at a time. I wanted to use Gatsby because my requirements were simple—to create a static website and render simple HTML/CSS pages, but after contemplating for a while I realized that the site requirements will eventually grow and that I will need a system that will support this near-term scaling demand. I'm sure Gatsby is very capable but for this project, I chose NextJS.
Site development
The real work began on the second and third week. I started building locally and produced the first few landing and detail pages. I applied some responsive styling and then wired up the data. Eventually I completed most of the pages and got the site to a good state. Here's a look at the development and logo design process:
After all the development is done the last step of the process is to publish the site. I went to Vercel for obvious reason because they are the creator of NextJS and they have a plethora of automated tooling in place (e.g. GitHub integration, Continuous Integration, analytics, automated deployments etc.). I then purchased my domain (rabyyuson.dev) through the site, made a repository connection between Vercel and GitHub and then finally committed all of my changes and pushed them to GitHub. This triggered the deployment process and within minutes my site is live!
Vercel auto deployment
Now that it is up and running I am excited to be writing more posts and working on projects. I am looking forward to recording tutorials and accompanying walkthrough videos. This site is a work in progress and changes will happen quite frequently. I will stick with my goals, stay committed and keep moving forward. Stay tuned for the next post!