
My Portfolio is my personal developer site, built on Next.js and Contentstack — nearly every page is CMS-driven, down to the nav, footer, and individual skill icons, with a custom admin dashboard for managing content without touching Contentstack's own UI directly.
A single "Common Page" content type with modular blocks powers Home, About, Skills, Projects, and Contact — each entry uses one block (banner, about page, skills, project list, contact details), so adding or editing content never means touching code. Individual project write-ups and blog posts each get their own content type, with the blog type doubling as both the article list and the full post view.
Header nav, footer social links, hero copy, skills with icons, featured projects, and contact details all come from Contentstack, with a periodic ISR revalidation window so edits show up live within minutes — no redeploy required.
A hand-rolled admin panel, gated behind NextAuth, for creating, editing, and publishing blog posts, uploading assets, and adding skills. Every write goes through server-side API routes so the Contentstack Management API token never reaches the browser.
A three.js particle field background paired with a typed, rotating role animation.
Redis-backed like counters on every project and blog post, with an optional one-time feedback prompt after a visitor's first like.
Real GitHub and LeetCode stats pulled straight from their public APIs, plus an embedded AI chat assistant for visitor questions.
A local JSON snapshot fallback lets the whole site run and be developed against without hitting the live Contentstack API — useful when working offline or against rate limits.
Deployed on Vercel.