~/dlab.zone (main) $ cat projects/dlab-zone/README.md
dlab.zone
This site — a terminal you can scroll, prerendered to static HTML.
context
A portfolio should prove the skills it lists. So the site itself is the project: a terminal-flavoured interface you can drive with the keyboard, fast to load and readable without JavaScript.
what I did
- a1c03f2init: prerendered React with TanStack Start and Vite+
- 5d7e912ui: tmux bar, vim statusline and a terminal dock
- b84f0c6motion: scroll-driven CSS animations and a canvas wave grid
- e2a95d4a11y: keyboard-first, reduced motion, five palettes in light and dark
- 3f6b1e8tooling: Oxlint and Oxfmt instead of ESLint and Prettier
architecture
┌───────────────┐ ┌───────────────┐ ┌──────────────────┐
│ src/content │ ─────▶ │ virtual fs │ ─────▶ │ terminal: cd, ls │
└───────┬───────┘ └───────┬───────┘ └──────────────────┘
│ │ routes
│ ┌───────▼───────┐ ┌──────────────────┐
└──────────────▶ │ prerender │ ─────▶ │ static HTML │
└───────────────┘ └──────────────────┘decisions
- Static HTML first.Every page is prerendered, so the content is there before any JavaScript runs. JavaScript adds the terminal, not the words.
- CSS scroll timelines over scroll listeners.Animations run off the main thread and stay smooth on iOS Safari; JavaScript only drives what CSS cannot, like the wave grid.
- One content source.Pages, the terminal and the sitemap all read the same typed files, in English and Polish, so nothing drifts apart.
results
staticevery page is plain HTML on a CDN
5 × 2palettes × light/dark, switchable from the terminal