← All projects
2026

Personal Portfolio & Blog Platform

A fast, multi-page personal site with a data-driven blog and command palette.

ReactViteReact RouterCanvasCSS
Problem statement
I needed a single home for my projects, writing, and learning journey that felt personal and premium rather than a cookie-cutter template, and that I could extend for years without friction.
Solution
A multi-page React SPA with a design-system foundation, animated space backdrop, theme switching, and a fully data-driven content layer so new projects and posts are just objects in a file.
Architecture
Vite + React Router with a persistent layout shell (nav, footer, cursor, starfield). Content lives in plain JS data modules; pages render from that data. Route-level code is kept lean and reveal animations run via IntersectionObserver.
Key features
  • Multi-page routing with animated transitions
  • System-aware dark/light theming
  • Command palette (Ctrl/⌘ + K) for instant navigation
  • Data-driven projects & blog with search, tags and categories
  • Reading progress + table of contents on articles
  • Accessible, responsive, reduced-motion friendly
Challenges
Getting smooth momentum scroll, per-route reveal animations, and a custom cursor to coexist without jank, which I solved with event delegation and rAF-batched work.
Lessons learned
A tiny, well-structured data layer beats a CMS for a personal site. Investing in a design system up front made every new page trivial.
Next project

Swarabodha

View project →