Project 01
Portfolio
Terminal assistant portfolio
This site. A scrollable portfolio and a terminal that is the AI assistant, both reading one shared content source.
- 2
- interfaces over one shared content source: web and terminal assistant
Problem
A conventional portfolio page tells visitors about engineering work but doesn’t demonstrate it. Recruiters skim it and technical visitors have nothing to explore.
Solution
Built a Next.js site with two interfaces over one shared content source: a scrollable editorial portfolio, and a centered terminal modal where visitors talk to a streaming assistant about Daniel and follow links back into the site.
Architecture
App Router pages for structure and SEO, a ChatProvider-owned terminal overlay that streams OpenRouter replies as a REPL transcript, and a completions API that accepts a context identifier so answers about a specific project or role are grounded without building the prompt in the browser.
Engineering decisions
- Kept context resolution server-side. The client sends a contextType/contextId, not a constructed prompt
- Reused the same profile and project data across the web UI and the AI system prompt to avoid maintaining duplicate facts
- Made the terminal the chat interface instead of running a command language beside a separate sidebar assistant
Technology
Next.js · TypeScript · Tailwind CSS · MongoDB · OpenRouter
Results
- One shared content source powering the web UI and the terminal assistant
What Daniel learned
One overlay is easier to explain than a command palette that hands off to a second chat panel.