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
MDXto 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
OAuthalong withTraefikto 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 Deliverypipeline set up using Dockerimagesand 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 handlesTLScertificates 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
pythonscripts for my customCMSsolution.
- To generate lower-quality videos for
HLSto ensure better playback experiences, I use customPythonscripts 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 usingmermaidandexcalidraw.
Tech Stack
-
React
-
Next.js
TraefikCloudflareHLSReact QueryPythonVirtualizationOAuth2.0Dockerframer-motion
