Skip to content
~/projects/workstation
All projects
activeWeb · Design Engineering2026

Workstation, this site

The site you're reading: a portfolio built as an operating system, terminal, command palette, dock, AI assistant.

problem

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.

approach

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

Architecture

1Content

Typed registry (Zod-validated) as single source

2Shell

Status bar · dock · command palette · terminal

3Pages

Each rendered from the registry, SSR + OG images

4AI

Retrieval → free LLM API → offline fallback

decisions

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.

stack
Next.jsTypeScriptTailwindMotionLLM APIZod
what's next
  • Real embeddings for semantic search (currently keyword + heuristic ranking).
  • Persisted terminal history and shareable command deep-links.