Bharathi's Portfolio Knowledgebase
Bundle OKF 0.2 · 7 conceitos · BlitzJB/bharathi-fyi-site
Open source Repository Open in the app JSON README (API)
About
# Bharathi's Portfolio Knowledgebase
The knowledge that grounds the AI assistant on [bharathi.fyi](https://bharathi.fyi).
* [How this knowledgebase works](getting-started.md) - purpose and maintenance guide for this bundle.
* [About Joshua Bharathi](profile/about.md) - bio, skills, education, and links.
* [The platform-to-AI journey](profile/journey.md) - the career arc and how to talk about it.
* [Work experience](profile/experience.md) - role-by-role record: Motorq, Miniture, Dexio, Blitz D&D.
* [Awards and honors](profile/awards.md) - national hackathon wins and other honors.
* [Projects](projects/index.md) - selected work, one concept per project.
* [FAQ](faq.md) - canonical answers for common visitor questions.
Details
- Kind
- OKF bundles
- Topic
- Finance & crypto
- Publisher
- blitzjb
- Origin
- okf_github
- Category
- dados
- Version
- 0.2
- Last push
- 2026-09-06T17:54:49Z
- Repository state
- ativo
- Language
- TypeScript
- Added
- 2026-09-08 16:05:40
- Updated
- 2026-09-08 16:05:40
- Origin id
BlitzJB/bharathi-fyi-site:.okf/index.md
README
# bharathi.fyi Personal site for Bharathi: platform engineer turned AI engineer. Next.js App Router, an MDX blog, and a landing-page AI assistant grounded in a curated knowledgebase. ## How it fits together | Piece | Where | Notes | |---|---|---| | Landing page | `app/page.tsx` | Split hero: positioning left, chat right | | Blog | `content/blog/*.mdx` + `app/blog/` | File-based, frontmatter-driven | | Chat API | `app/api/chat/route.ts` | Vercel AI SDK `streamText` via AI Gateway | | Knowledgebase | `.okf/` | OKF v0.2 bundle: the chat's single source of truth | | KB compiler | `lib/knowledge.ts` | Folds the bundle into the model's system prompt | ## Local development ```sh pnpm install cp .env.example .env.local # add your AI_GATEWAY_API_KEY pnpm dev ``` Everything except chat answers works without the key; without it the chat shows a friendly error when asked. ## Writing a post Add `content/blog/my-post.mdx`: ```yaml --- title: "My post" date: 2026-09-01 description: "One-sentence summary shown in lists and meta tags." tags: [ai-engineering] draft: false # true hides it in production builds --- ``` The slug is the filename. Code blocks are highlighted with Shiki (`vitesse-light`). ## Editing what the assistant knows The assistant answers **only** from `.okf/`. Each markdown file there is one concept with YAML frontmatter (`type` is required). Workflow: 1. Edit or add a concept (see `.okf/getting-started.md` for conventions). 2. Replace `TODO(bharathi)` markers with real content and flip `status: draft` to stable (or remove the line). 3. Update `.okf/index.md` and add a dated entry to `.okf/log.md`. 4. Concepts marked `status: deprecated` are excluded from the prompt. In dev the bundle is re-read on every request; in production it's compiled once per server instance, so redeploy after KB changes. ## Deploying (Vercel) 1. Push to GitHub, import the repo in Vercel. 2. Enable AI Gateway on the project (chat auth is automatic via OIDC), or set `AI_GATEWAY_API_KEY` as an environment variable. 3. Optionally set `CHAT_MODEL` (defaults to `zai/glm-5.3-flash`). The chat route caps input length, history depth, and output tokens. For a high-traffic site, add rate limiting (Vercel WAF or middleware) on `/api/chat`: it spends your gateway credits. ## Remaining personalization Search the repo for `TODO(bharathi)`. What's left: the AI-era chapter in `.okf/profile/journey.md` (the résumé was pre-AI, so the assistant says details are coming soon) and your preferences in `.okf/faq.md` (open to work, what kind of roles).