Next.js portfolio with validated structured content and repository-authored MDX.
Browse Home for the profile and selected work, Projects for the full project index and case studies, or Articles for technical writing.
Ask answers questions about Nikita’s published work, role fit, and evidence for skills, with citations linking to site content. Paste the job description when asking about a role: the service does not fetch submitted job URLs or browse the web.
Use Node.js 22, matching CI, and npm.
npm ci
npm run devOpen localhost:3000. The predev script generates hero backgrounds. To serve a production build, run npm run build, then npm start.
Live Ask requires server-only ASK_API_KEY in .env.local or the platform environment. The Ask API guide below documents endpoint, model, and completion-limit defaults and overrides. Page browsing does not require that key. Optional server-only GITHUB_TOKEN enables pull-request activity rows; public contribution data can render without it. Keep both credentials out of NEXT_PUBLIC_ variables.
Next.js Server Components load validated local content. portfolio.yaml supplies profile and Home records. Project and article loaders validate MDX slugs and metadata, then supply a fixed set of static detail routes. Unknown slugs return a 404. Client components add theme, navigation, and conversation behavior.
Ask loads the validated public portfolio corpus, adds bounded optional activity data, and makes a structured model request. It streams answer text followed by validated local citations and follow-ups, and stores no transcript on the server. Optional metrics failures retain curated content rather than removing project pages.
Update structured facts in the YAML and long-form pages in content/projects or content/articles. MDX is trusted executable repository source.
package.json provides focused content, Ask, conversation, lint, typecheck, and browser-test commands.
- Design guide — Visual direction, content voice, and interaction behavior.
- Ask API guide — Local credentials, portfolio grounding, streaming, and error behavior.