Overview
This is the website you're on right now. A chat-first portfolio where visitors interact with an AI companion that knows about my work, projects, and experience — powered by curated MDX content, not web browsing.
Architecture
- Content Pipeline: MDX files in
content/are the source of truth. A prebuild script generates JSON knowledge base files that the LLM uses as context. - Chat Flow: Messages go through session validation, rate limiting, context building from the KB, streaming via Gemini, and Zod schema validation before reaching the user.
- Slash Commands: Client-side commands (
/projects,/blogs,/linkedin,/help,/clear) render deterministic UI blocks — no LLM involved. - UI Blocks System: A block renderer dispatches typed components (text, cards, timeline, links, chips) returned by both slash commands and the chat API.
Key Design Decisions
- Zero hallucination tolerance: The system prompt enforces curated-only responses. URLs are stripped from LLM output. Citations must reference provided source IDs.
- MDX as source of truth: All content lives in version-controlled Markdown files. No CMS, no external dependencies.
- Open source: The full codebase is available as a template — fork it, swap in your content, and deploy.
Security
- Zod schema validation on all LLM output
- CSP, HSTS, X-Frame-Options via middleware
- IP hashing with SHA-256 + salt for rate limiting
- Sliding window rate limits via Upstash Redis