Adarsha Chatterjee's Lego-inspired portfolio site, built as a Vite + React single-page app with editorial typography, motion-heavy presentation, and project case-study pages.
| Signal | Details |
|---|---|
| Product | Personal portfolio with project case studies, resume content, contact flow, and polished motion system |
| What it demonstrates | Frontend craft, visual direction, structured content modeling, responsive UI, and product storytelling |
| Featured work | BreakoutScan, SoleMate, Bhukkad, Bijlee, FlowKeys, Regulatory Intel, Hyvemind |
| Runtime | Static Vite SPA with React Router and Tailwind CSS v4 |
npm install
npm run devFor any AI collaborator recreating or modifying the site, start here:
AGENTS.md: agent-neutral entrypoint and source-of-truth rulesREBUILD.md: exact page-by-page recreation guideDESIGN_SYSTEM.md: visual fidelity and motion rulesTECH_STACK.md: live stack, config, and runtime detailsCLAUDE.md: Claude-specific companion notes
Older handoff/onboarding docs in the repo are legacy reference unless refreshed.
- React 19
- React Router DOM 7
- TypeScript 5.9
- Vite 8
- Tailwind CSS v4
- Framer Motion 12
- Radix UI primitives
- Lucide React
npm install
npm run devnpm run build
npm run lint
npm run previewsrc/main.tsx: app entrypointsrc/App.tsx: route mapsrc/components/site/SiteLayout.tsx: shared shell, nav, footer, preview wrapperssrc/pages/*: top-level screenssrc/data/resume.ts: main structured content sourcesrc/index.css: theme tokens and visual system
src/data/resume.ts is the main structured content source, but not every rendered section reads from it.
Important sync traps:
src/components/ui/animated-hero.tsxhas hardcoded hero roles and statssrc/pages/HomePage.tsxhas hardcoded homepage metrics datasrc/pages/ProjectsPage.tsxhas a hardcoded flagship projects section, while the archive section reads fromresume.projectssrc/pages/ProjectDetailPage.tsxreads fromresume.projects
If you change visible copy, verify whether it lives in resume.ts or in a page-local/component-local array.
- Resume file is served from
public/Adarsha-Chatterjee-Resume.docx - Contact form currently uses a
mailto:flow, not a backend submission - Preview query params supported by the layout:
?preview=mweb?preview=desktop
public/lego/: Lego character and decorative assetspublic/showcase/: project thumbnails and showcase images
dist/: generated build outputnode_modules/: installed dependencies