Highlights
- This website has been built with Next.js utilizing my React expertise. I wanted to create a space where I could maintain my blog, share videos of my music recordings, post photos from my travels, and showcase my projects.
- I use
MDX
to write my blog posts which areserver-side rendered
(SSR) and cached byCloudflare
, ensuring the website loads quickly and efficiently for users. The videos are delivered usingHLS
(HTTP Live Streaming), providing smooth streaming experiences.
- For a few subdomains, I use
OAuth
along withTraefik
to keep access secure. This setup ensures that sensitive areas of the site are protected.
- To make the video and photo grids efficient, I use
TanStack Virtual
. This tool optimizes the rendering of large lists by only rendering the visible items, improving performance byvirtualization
.
- I have a robust
Continuous Delivery
pipeline set up using Dockerimages
and a self-hostedDocker Registry
. This pipeline automates the deployment process, ensuring that updates are smoothly and consistently rolled out.
- Routing and TLS certificates are managed with
Traefik
.Traefik
, in combination withCloudflare
, automatically handlesTLS
certificates for all subdomains.
- For animations on this website, I use
framer-motion
, which provides smooth and interactive animations, enhancing the user experience.
- To avoid redeployment to fix typos or for new posts, I use a few
python
scripts for my customCMS
solution.
- To generate lower-quality videos for
HLS
to ensure better playback experiences, I use customPython
scripts to automate the entire workflow. Additionally, these scripts also handle the processing of photos.
- All the images used for the blog posts are from
Unsplash
, and the diagrams are built usingmermaid
andexcalidraw
.
Tech Stack
- React
- Next.js
Traefik
Cloudflare
HLS
React Query
Python
Virtualization
OAuth2.0
Docker
framer-motion