STACKSIMO_OS

How this site is built

Developer mode is honest mode. This portfolio is a Next.js app with no UI library and a hand-written design system.

FOLDER STRUCTURE
stacksimo/
├─ app/
│  ├─ layout.tsx          shell mounts here, fonts, metadata
│  ├─ globals.css         entire design system: tokens + components
│  ├─ [[...slug]]/        one catch-all; the shell routes panes itself
│  ├─ robots.ts           generated robots.txt
│  └─ sitemap.ts          generated sitemap
├─ components/
│  ├─ Shell.tsx           titlebar · sidebar · tabs · keyboard map
│  ├─ CommandPalette.tsx  ⌘K: fuzzy-ish search over everything
│  ├─ DemoBrowser.tsx     screenshot viewer: live link, fullscreen, compare
│  ├─ Terminal.tsx        you found this already, right?
│  └─ panes/              Studio · Explorer · ProjectWindow · Services · …
├─ lib/
│  ├─ data.ts             every word of content, typed: zero hardcoded pages
│  └─ store.tsx           tabs, theme, favorites, achievements (localStorage)
└─ public/                project screenshots and static assets
TECHNICAL DECISIONS
No UI library

Every component is hand-written CSS on design tokens. Nothing to fight, nothing generic.

Real screenshots

Project previews are actual screenshots captured from production, not mock UIs or reconstructions. Click one and you land on the live site itself.

Client-routed shell

One layout owns tabs/sidebar/palette; panes swap inside it. Feels like software, not pages.

Content as data

projects, services, process, milestones all live in data.ts. Adding a project is a data change, not a build.

State that respects you

Theme, favorites, recents, achievements persist in localStorage. No cookies, no tracking.

STACK & DEPLOY
  • Next.js (App Router) + TypeScript, static export
  • CSS custom properties, dual theme, prefers-reduced-motion respected
  • Fonts: Fraunces / Inter / IBM Plex Mono, self-hosted via next/font
  • Typecheck + production build before every deploy; nothing ships that doesn't compile