A premium, minimalist developer portfolio exploring the intersection of ancient Vedic philosophy and cutting-edge web development. Built with Next.js 16 App Router, React 19, Tailwind CSS v4, and Framer Motion β featuring dual theming (Surya/Chandra), cinematic animations, AI chatbot integration, and full static generation.
Live β thebindu.vercel.app
Bindu (ΰ€¬ΰ€Ώΰ€¨ΰ₯ΰ€¦ΰ₯) β "the seed point" β represents the cosmic center from which all creation unfolds. This portfolio treats the web interface as an experiential canvas where every interaction carries intention.
| Route | Description |
|---|---|
/ |
Homepage β hero, timeline, skills, projects, GitHub contributions, contact |
/bindu |
"I'm Bindu" β interactive philosophy page with sacred geometry & animations |
/kalpas |
Cinematic AI-powered timeline mapping 3,500 years of human Γ machine evolution |
/blog |
Blog with markdown posts |
/projects/[slug] |
Project case studies (Drishti, RepoCard, Zybra) |
/skills |
Skills & expertise breakdown |
/tapasya |
GitHub contribution graph ("daily discipline") |
/contact |
Contact form |
| Sanskrit Term | Meaning | Maps To |
|---|---|---|
| Bindu | The seed point | Brand / project name |
| Aarambh | The beginning | Hero section |
| Kala-Chakra | Wheel of time | Interactive timeline |
| Vidya | Knowledge | Skills section |
| Karma | Action | Projects section |
| Tapasya | Discipline | GitHub contribution graph |
| Sankalpa | Intention | Contact form |
| Surya / Chandra | Sun / Moon | Light / Dark themes |
| Ask Dharma | Cosmic guidance | AI chatbot widget |
src/
βββ app/ # Next.js App Router
β βββ page.tsx # Homepage (single-scroll assembly)
β βββ layout.tsx # Root layout (fonts, SEO, providers)
β βββ bindu/ # /bindu philosophy page
β βββ blog/ # /blog with [slug] posts
β βββ kalpas/ # /kalpas cinematic timeline
β β βββ page.tsx # Server component (static)
β β βββ KalpasPageClient.tsx # Client-side interactive body
β βββ projects/ # /projects/[slug] case studies
β βββ skills/ # /skills page
β βββ tapasya/ # /tapasya GitHub graph
β βββ contact/ # /contact form
β βββ api/ # Serverless API routes
β βββ ask-dharma/ # AI chatbot (Gemini)
β βββ ask-rishi/ # Kalpas-specific AI assistant
β βββ github-contribs/ # GitHub GraphQL proxy
β βββ og-image/ # Dynamic OG image generation
β βββ send-sankalpa/ # Contact form handler
βββ components/
β βββ ui/ # Reusable UI primitives
β β βββ tubelight-navbar.tsx # Animated pill navbar with lamp effect
β β βββ animated-shader-background.tsx # Three.js aurora shader
β β βββ flickering-grid.tsx # Canvas flickering grid
β β βββ particles-bg.tsx # Canvas particle system
β β βββ stars-background.tsx # Canvas starfield
β βββ Kalpas/ # Kalpas page components
β β βββ KalpasHero.tsx # Hero with deferred Three.js
β β βββ DualTrackTimeline.tsx # Dual-track era timeline
β β βββ MilestoneCard.tsx # React.memo'd milestone cards
β β βββ AskRishi.tsx # Per-era AI Q&A panels
β β βββ EraNavBar.tsx # Sticky era navigation
β βββ HeroBindu/ # Homepage hero
β βββ Timeline/ # Homepage timeline with MandalaCanvas
β βββ Footer.tsx # Full footer with FlickeringGrid
β βββ Navbar.tsx # Tubelight navbar wrapper
β βββ ... # ~24 component directories
βββ content/ # Static content
β βββ kalpas-data.json # 6 eras Γ dual-track timeline data
β βββ blog/ # Markdown blog posts
β βββ bindu/ # Bindu page content
β βββ projects/ # Project case study markdown
βββ styles/
βββ global.css # CSS design tokens (Surya/Chandra)
- Chandra (Dark): Deep charcoal (
#0F0F0F) + golden accent (#E5C271) - Surya (Light): Cloud grey (
#FDFBF7) + warm gold (#D4AF37)
- Headings: Cinzel (serif, classical)
- Body: Inter (sans-serif, modern)
- Code: JetBrains Mono (monospace)
- TubelightNavbar: Animated pill nav with "lamp" glow effect, leading/trailing slots
- FlickeringGrid: Canvas-based text rendering with random opacity flickering
- MandalaCanvas: Generative sacred geometry with rotating ring patterns
- ParticlesBg: Depth-of-field particle system with mouse repulsion
- AnoAI Shader: Three.js fragment shader (aurora borealis effect, code-split)
- Node.js
v20+ - npm
git clone https://github.com/BAKUGOS1/vedic.git
cd vedicnpm installCreate .env.local at the project root:
# GitHub β for contribution graph
GITHUB_TOKEN=ghp_your_token
GITHUB_USERNAME=BAKUGOS1
# Gemini β for AI chatbot
GEMINI_API_KEY=AIzaSy_your_key
LLM_MODEL=gemini-2.0-flashnpm run devnpm run build
npm run startnpm run test # single run
npm run test:watch # watch mode
npm run test:coverage # with coverageDeployed on Vercel at thebindu.vercel.app.
All pages are statically generated except API routes. The Kalpas page (/kalpas) uses server-component data loading with client-side interactivity via KalpasPageClient.
For detailed deployment instructions, see the Deployment Runbook.
| Command | Purpose |
|---|---|
npm run dev |
Start dev server |
npm run build |
Production build |
npm run start |
Start production server |
npm run lint |
Run ESLint |
npm run type-check |
TypeScript type checking |
npm run test |
Run Vitest tests |
npm run test:coverage |
Tests with coverage report |
- Three.js deferred via
next/dynamicβ ~600KB code-split from initial bundle - Canvas loops paused when off-viewport (IntersectionObserver) and when tab is hidden (
visibilitychange) - React.memo on frequently re-rendered components (
MilestoneCard) - Stable callbacks via
useCallbackto prevent unnecessary child re-renders - Google Fonts loaded via
<link>withdisplay=swap(non-render-blocking) - Static generation for all content pages
- Particle class extracted to module scope (React compiler compatible)
- QA & Audit Checklist
- Deployment Runbook
- Hero Flow & Storyboard
- Tapasya Module
- Sankalpa (Contact) Module
- Projects Module
Created with intent and precision by Mohit Kumar.