Workstation, this site
The site you're reading: a portfolio built as an operating system, terminal, command palette, dock, AI assistant.
The problem
A resume flattened onto a webpage says 'I can write HTML'. I wanted the medium to be the message: if I claim to build software and engineer AI systems, the portfolio should *feel* like software.
How I approached it
- Modeled the whole site as an OS shell: status bar, dock, command palette (⌘K), keyboard shortcuts and a real terminal with a virtual filesystem.
- Drove every page from one typed content registry validated with Zod, the terminal, palette, search and AI assistant all read the same source of truth.
- Built an in-browser AI assistant with retrieval over the content, backed by a free OpenAI-compatible LLM API with a graceful offline fallback.
Architecture
Typed registry (Zod-validated) as single source
Status bar · dock · command palette · terminal
Each rendered from the registry, SSR + OG images
Retrieval → free LLM API → offline fallback
Engineering decisions & tradeoffs
One content registry
// Six surfaces (pages, terminal, palette, search, AI, OG images) rendering from one typed source means zero drift and single-point updates.
Offline-first AI fallback + free provider
// The assistant runs on a free OpenAI-compatible model and still answers usefully with no API key set, retrieval alone gives real answers; the LLM makes them conversational.
- › Real embeddings for semantic search (currently keyword + heuristic ranking).
- › Persisted terminal history and shareable command deep-links.