jishnuteegala.com
Personal site — CV, projects, labs. Next.js on Vercel.
Readme
Personal site of Jishnu Teegala — CV, projects, labs, and a scaffolded blog.
Next.js (App Router) · TypeScript · Tailwind v4 · pnpm · deployed on Vercel.
Principles
- One source of truth, many projections. CV content lives in
src/data/cv.ts; the/cvpage, its markdown variant, and all four PDFs (full/condensed × light/dark) are generated from it and cannot drift. - Agents are readers too. Everything is server-rendered and semantic. Every content page has a
.mdvariant;/llms.txtand/llms-full.txtare generated from the same data. - The site is the portfolio. Quiet, typography-led design; near-monochrome with one accent; light/dark/system themes.
Commands
pnpm dev # dev server
pnpm build # generate CV PDFs (headless Chromium), then next build
pnpm generate:pdf # regenerate PDFs against a running dev server
pnpm smoke # smoke checks against a running server
pnpm lint # oxlint
pnpm format # oxfmt --check
pnpm typecheck # tsc --noEmit
Content
- CV — edit
src/data/cv.ts. Each bullet is taggedhighlightordetail; condensed views show highlights only. - Blog — drop an
.mdxfile incontent/blog/withtitle,date,descriptionfrontmatter and push. Invalid frontmatter fails the build. The blog stays hidden from navigation until a post exists. - Projects — pins and narrative in
src/data/projects.ts; everything else comes live from the GitHub API (hourly cache). - Labs — register entries in
src/data/labs.tsand add routes undersrc/app/labs/.
Docs
CONTEXT.md— glossary of domain termsdocs/adr/— architecture decision records.env.example— every variable is optional; the site degrades gracefully