A personal website where I keep my work, experiments, and a lightweight chat that answers questions about me and my projects.
Developer: Brian Seo
It's a Next.js app for my portfolio. You'll find a short intro, selected projects, and a simple chatbot you can ask about my background, tech stack, and what I've built. The goal: fast to load, easy to read, and easy for me (or you) to extend.
# 1) Install dependencies
npm install
# (or: yarn / pnpm / bun)
# 2) Run the dev server
npm run dev
# App runs at:
# http://localhost:3000-
Install deps (
npm install). -
Put your LLM API key(s) in
.env.local. -
Adjust the intent/knowledge files to match your info:
intent.jsknowledgeBase.jsdata.js
-
Install your model/client of choice (OpenAI shown below, but any LLM client works).
Example .env.local:
# Use whichever provider/model you prefer, make sure that chatbot matches the LLM model you use
OPENAI_API_KEY=sk-...
# Optional public config:
NEXT_PUBLIC_APP_NAME=Brian Seo — Portfolionpm run dev # Start local dev
npm run build # Production build
npm run start # Run the built app
npm run lint # Lint (if configured)All the "who is Brian / what's this project" answers come from a tiny knowledge layer—no vector DB needed to get started.
intent.js– lightweight routing for question types (about me, projects, contact, etc.)knowledgeBase.js– your facts/answers live here, gets converted into searchable chunks for the AIdata.js– structured project portfolio data (titles, descriptions, tech stacks, links)
Swap the LLM client if you want: OpenAI, Groq, Anthropic, LM Studio, local models—just adapt the small API wrapper you'll see in the code.
src/app/
page.js # Landing page
components/ # React components
utils/
intent.js # Intent routing logic
knowledgeBase.js # RAG knowledge extraction
data.js # Project portfolio data
api/chat/
route.js # Chatbot API endpoint
public/
(images, fonts) # Static assets
.env.local # Your API keys (not committed)
"It won't start / weird build errors."
You may need to rebuild the ephemeral folders that are in .gitignore.
# Remove and rebuild
rm -rf .next node_modules
npm install
npm run buildMake sure .gitignore contains:
.next/
node_modules/
API keys not found: Verify .env.local exists at the project root and you restarted the dev server after edits.
You can deploy anywhere that supports Next.js.
- Vercel: Zero-config for Next.js; connect the repo and set your env vars.
- Self-host:
npm run buildthennpm run startbehind your reverse proxy.
Remember to set your environment variables in the hosting platform before going live.
I wanted a clean place to point people to my work and a small, configurable chat that answers common questions about me without over-engineering. It's simple on purpose.
All content (projects, copy, images) is mine. Feel free to use the structure as reference, but please don't copy my personal content verbatim.
Have a question or feedback? Open an issue or ask the site's chat.
Thanks for visiting!