A modern portfolio site built with Next.js, TypeScript, and Tailwind CSS to showcase analytics engineering experience, featured projects, and AI-assisted recruiter workflows.
This repository powers a personal portfolio experience with three main surfaces:
- A polished landing page for recruiters and hiring managers
AkshayGPT, a portfolio-grounded chat assistant- A recruiter tool that analyzes job descriptions against portfolio evidence
- Portfolio content managed from structured data sources
- Recruiter-focused job fit analysis grounded in portfolio evidence
- AI chat experience powered by the OpenAI Responses API
- Responsive UI built with the Next.js App Router
- Typed frontend and API routes with TypeScript
- Next.js 15
- React 19
- TypeScript
- Tailwind CSS
- OpenAI Responses API
- Node.js 18+ recommended
- npm
npm installCreate a .env.local file using .env.example as a reference:
OPENAI_API_KEY=your_openai_api_key_here
NEXT_PUBLIC_SITE_URL=https://your-domain.comnpm run devOpen http://localhost:3000 in your browser.
npm run devstarts the development servernpm run buildcreates a production buildnpm run startstarts the production servernpm run lintruns ESLint
app/application routes, layouts, metadata, and API handlerscomponents/UI building blocks and page-level React componentsdata/portfolio.tsstructured portfolio content used across the sitelib/shared utilities, portfolio context builders, and recruiter-fit logicpublic/static assets including images and resume files
The portfolio includes two AI-backed experiences:
app/api/chat/route.tsfor portfolio-grounded chatapp/api/job-fit/route.tsfor recruiter-oriented job fit analysis
To use these features locally, set OPENAI_API_KEY in .env.local.
- Portfolio content is centralized in
data/portfolio.ts - The recruiter tool uses normalized job briefs plus portfolio evidence for fit analysis
- The chat and recruiter flows both rely on the OpenAI Responses API
This project is intended as a personal portfolio codebase unless stated otherwise.