Manoj
Back to Projects
Web Application·2024active

Manoj Portfolio

My personal portfolio, redesigned from the ground up with Next.js 16, React 19, and a warm dark-first aesthetic.

The third iteration of my personal site, rebuilt from scratch with Next.js 16 and React 19. Designed dark-first with a warm coal-and-beige palette, then layered in a clean light mode with class-based theme toggle persisted in localStorage. The MDX-powered blog supports syntax highlighting, reading time estimates, and an RSS feed. A guestbook with GitHub OAuth sign-in and an admin approval workflow lets visitors leave messages. The interactive resume page supports PDF download. Other touches include a Ctrl+K command palette, scroll-progress bar, section reveal animations powered by IntersectionObserver, and auto-generated Open Graph images. Feature flags in lib/features.ts toggle entire pages on or off. Linted with ESLint 9, formatted with Prettier, and deployed on Vercel with GitHub Actions CI running lint, format check, and build on every push.

100
Lighthouse
Next.js 16
Framework
Vercel
Deploy

Tech Stack

Next.js 16React 19TypeScriptTailwind CSS v4Auth.js v5MDXVercel

Key Features

  • Dark-first design with class-based theme toggle persisted in localStorage
  • MDX blog with syntax highlighting, reading time, and RSS feed
  • Guestbook with GitHub OAuth, approval workflow, and admin panel
  • Interactive resume page with PDF download
  • Ctrl+K command palette for quick navigation
  • Feature flags to toggle blog, guestbook, and uses pages
  • Scroll progress indicator and section reveal animations
  • Auto-generated Open Graph images, sitemap, and robots.txt
  • GitHub Actions CI pipeline (lint, format check, build)