Portfolio
What is this?
This website is my personal portfolio and blog.
Why did I create this website?
I built this site to showcase who I am, what I’ve done, and to share my thoughts through a blog.
Architecture & Tech Stack
Before building this website, I considered four tech options: native PHP, VitePress, Nuxt with nuxt/content, and Astro.
Among these, only PHP was something I had used before. I’ve worked with Nuxt for building web apps, but I had never used nuxt/content to create a static blog or portfolio. As for VitePress and Astro, I was aware of them but had never tried them.
Based on what I’d read, Astro seemed like the best fit for a static site like this because of its ability to deliver zero JavaScript to the client. That makes Astro blazing fast.
Even though I had no prior experience with Astro, I initially decided to go with Nuxt and nuxt/content since I was more familiar with Nuxt. While working on the site, I also started learning Astro — and I quickly realized it was very straightforward and easy to use for this type of website.
Eventually, I migrated the site from Nuxt to Astro.
CI/CD
This website is deployed on my own hosting. To streamline the deployment process, I use GitHub Actions to build the project and automatically upload it to the server whenever I push to the main branch.
🛠️ Source Code: https://github.com/choliddnr/cholid