How this site is built & shipped
A colophon for the curious — the stack this portfolio runs on, where it’s deployed, and the build behind the version you’re reading right now. Every value here is derived at build time, not hand-written.
At a glance
- Static routes
- 15
- Case studies
- 6
- Engineering notes
- 3
- Dependencies
- 14
Built with
Next.js
16.0.10
React
19.2.3
TypeScript
5.9.3
Tailwind CSS
4.1.18
shadcn/ui
new-york
lucide-react
0.561.0
next-themes
0.4.6
web-vitals
5.3.0
Tooling & conventions
- Radix UI
- class-variance-authority
- pnpm
- ESLint
- Prettier
- Vitest
- Vercel Speed Insights
Typography
Sans — headings & body
Geist
AaBbCc 0123 — the quick brown fox
Mono — code, labels & metadata
Geist Mono
AaBbCc 0123 — the quick brown fox
Both typefaces are self-hosted through next/font, so there’s no render-blocking request to a third-party font CDN.
Infrastructure
- Hosting
- Vercel
- Source & CI
- GitHub → Vercel
- Rendering
- Static prerender (SSG)
- Package manager
- pnpm
- Domain
- www.vinaybandi.com
- Environment
- production
Build metadata
- Commit
- 41ef7bc
- Branch
- main
- Last deploy
- Jul 3, 2026
- Node
- v24.15.0
Performance
Every route is statically prerendered and served from Vercel’s edge CDN, so pages arrive as ready-made HTML. Real Core Web Vitals for your current session are measured live in the footer of every page.
Measured with Vercel Speed Insights — aggregate and cookieless, with no personal tracking.
For machines
The site publishes machine-readable endpoints for search crawlers and language models — including a hand-maintained plain-text mirror of every page.