Personal portfolio for an AI security researcher. Dark web3 aesthetic, multi-model AI chat, and a live knowledge graph from an Obsidian vault. No templates — built from scratch with Next.js 15.
AI chat — multi-model with automatic fallback: tries Groq (Llama 3.3, sub-second) → falls back to OpenRouter if Groq is rate-limited. Runs on Vercel Edge Runtime for minimal cold-start latency.
Knowledge graph — interactive D3 force graph built from brain-graph.json, generated nightly from my Obsidian vault. Shows connections between AI security concepts, research notes, and project docs.
Dark web3 aesthetic — custom CSS with scroll animations, no heavy UI library.
- Framework: Next.js 15 App Router
- AI: Vercel AI SDK — Groq primary, OpenRouter fallback
- Graph: D3 force-directed layout
- Deploy: Vercel Edge Runtime
git clone https://github.com/sanjayrkshetty/portfolio
cd portfolio
npm install
cp .env.example .env.local
# Add GROQ_API_KEY and OPENROUTER_API_KEY
npm run devOpen http://localhost:3000.
Part of @sanjayrkshetty's AI security portfolio