First public release of my personal portfolio — a multilingual, server-first
Next.js site with deep-tech case studies, interactive demos, and a discoverable
easter-egg layer.
Highlights
- Engineer Mode — an audience toggle (header pill,
nshortcut, command
menu) that mirrors Recruiter Mode and is mutually exclusive with it. Reveals
architecture diagrams, algorithms & data structures, performance engineering,
and technical write-ups on case-study pages. (ADR-0009) /nowpage — a Derek-Sivers-style snapshot of what I'm focused on,
learning, building, reading, and sharpening./system-designwhiteboards — interactive walkthroughs of classic
problems (URL shortener, rate limiter, job scheduler) plus sketched
"coming soon" boards. (ADR-0011)- "Ask my portfolio" assistant — a fully client-side chatbot answering from
real site content via a dependency-free TF-IDF index. No model download, no
network calls, no tracking. (ADR-0010) - Quirky project filters on
/work— favourites, late-night ideas, hardest
bugs, most fun, open source, research, AI, and systems.
Personality & easter eggs
- 22 hidden eggs across 5 tiers — including Phoenix Run, a Chrome-dino-
style endless runner on the 404 page, a retrophoenix-shellterminal with
history + tab-completion + 10 commands, a matrix-rain overlay, hidden
/phoenix,/credits, and/secretroutes, the Konami code, typed-word
triggers, and a completionist reward. All progress lives in onelocalStorage
key — no new cookies, no analytics. Seedocs/EGGS.md. (ADR-0008) - Boot sequence, header brand glitch effect, commit-rain overlay, a
Web-Audio sound-effects engine with a global mute, and a voice-intro scaffold.
Internationalization & SEO
- Six locales (en, hi, ja, sa, zh, ru) with
localePrefix: "never"— every
page renders at the same canonical URL; switching language updates content +
<html lang>without changing the URL. - BreadcrumbList + CreativeWork + Person JSON-LD, per-project OG images, web app
manifest, content-negotiatedhumans.txt, sitemap, and robots.
Contact
- Drag-and-drop attachments (5 files / 10 MB, PDF/images/DOCX/TXT/MD).
- Company autofill from a work email's domain.
- Live rate-limit countdown, inline email autocomplete, and fully translated
Zod validation errors.
Security & performance
- Strict Content-Security-Policy with an explicit allow-list; the chatbot
stays pure-JS so nowasm-unsafe-evalis needed. - Lazy-loaded project demos (
next/dynamic) — only the visited demo ships JS. - Cookie-less Vercel Web Analytics + Speed Insights; the only cookie set is
NEXT_LOCALE. - All animations gated on
prefers-reduced-motion.
Tech stack
Next.js 16 (App Router) · React 19 · TypeScript 6 (strict + noUncheckedIndexedAccess)
· Tailwind CSS 4 · next-intl 4 · Vitest · Playwright · Zod 4 · Resend · framer-motion
Full details in docs/CHANGELOG.md.