{
  "markdown": "# bharathi.fyi\n\nPersonal site for Bharathi: platform engineer turned AI engineer. Next.js\nApp Router, an MDX blog, and a landing-page AI assistant grounded in a\ncurated knowledgebase.\n\n## How it fits together\n\n| Piece | Where | Notes |\n|---|---|---|\n| Landing page | `app/page.tsx` | Split hero: positioning left, chat right |\n| Blog | `content/blog/*.mdx` + `app/blog/` | File-based, frontmatter-driven |\n| Chat API | `app/api/chat/route.ts` | Vercel AI SDK `streamText` via AI Gateway |\n| Knowledgebase | `.okf/` | OKF v0.2 bundle: the chat's single source of truth |\n| KB compiler | `lib/knowledge.ts` | Folds the bundle into the model's system prompt |\n\n## Local development\n\n```sh\npnpm install\ncp .env.example .env.local   # add your AI_GATEWAY_API_KEY\npnpm dev\n```\n\nEverything except chat answers works without the key; without it the chat\nshows a friendly error when asked.\n\n## Writing a post\n\nAdd `content/blog/my-post.mdx`:\n\n```yaml\n---\ntitle: \"My post\"\ndate: 2026-09-01\ndescription: \"One-sentence summary shown in lists and meta tags.\"\ntags: [ai-engineering]\ndraft: false        # true hides it in production builds\n---\n```\n\nThe slug is the filename. Code blocks are highlighted with Shiki\n(`vitesse-light`).\n\n## Editing what the assistant knows\n\nThe assistant answers **only** from `.okf/`. Each markdown file there is one\nconcept with YAML frontmatter (`type` is required). Workflow:\n\n1. Edit or add a concept (see `.okf/getting-started.md` for conventions).\n2. Replace `TODO(bharathi)` markers with real content and flip\n   `status: draft` to stable (or remove the line).\n3. Update `.okf/index.md` and add a dated entry to `.okf/log.md`.\n4. Concepts marked `status: deprecated` are excluded from the prompt.\n\nIn dev the bundle is re-read on every request; in production it's compiled\nonce per server instance, so redeploy after KB changes.\n\n## Deploying (Vercel)\n\n1. Push to GitHub, import the repo in Vercel.\n2. Enable AI Gateway on the project (chat auth is automatic via OIDC), or set\n   `AI_GATEWAY_API_KEY` as an environment variable.\n3. Optionally set `CHAT_MODEL` (defaults to `zai/glm-5.3-flash`).\n\nThe chat route caps input length, history depth, and output tokens. For a\nhigh-traffic site, add rate limiting (Vercel WAF or middleware) on\n`/api/chat`: it spends your gateway credits.\n\n## Remaining personalization\n\nSearch the repo for `TODO(bharathi)`. What's left: the AI-era chapter in\n`.okf/profile/journey.md` (the résumé was pre-AI, so the assistant says\ndetails are coming soon) and your preferences in `.okf/faq.md` (open to\nwork, what kind of roles).\n",
  "bytes": 2581,
  "sha": "ff1f8da1c40f231820ce561d99c6a6502e0a3001467fb816b60cfeae13179837",
  "repo_slug": "blitzjb/bharathi-fyi-site",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/okf_blitzjb_bharathi_fyi_site_okf_index_md_cf1e37e1/readme"
}