Skip to content
dlab

~/dlab.zone (main) $ cat projects/dlab-zone/README.md

dlab.zone

This site — a terminal you can scroll, prerendered to static HTML.

role
Design & development
when
2026
stack
TanStack Start · React 19 · Vite+ · CSS scroll timelines · Canvas
links

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

  1. a1c03f2init: prerendered React with TanStack Start and Vite+
  2. 5d7e912ui: tmux bar, vim statusline and a terminal dock
  3. b84f0c6motion: scroll-driven CSS animations and a canvas wave grid
  4. e2a95d4a11y: keyboard-first, reduced motion, five palettes in light and dark
  5. 3f6b1e8tooling: Oxlint and Oxfmt instead of ESLint and Prettier

architecture

One set of typed content files feeds the pages, the terminal's file system and the sitemap; every page is prerendered to static HTML.

decisions

  1. Static HTML first.Every page is prerendered, so the content is there before any JavaScript runs. JavaScript adds the terminal, not the words.
  2. 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.
  3. 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
guest@dlab.zone — zsh/ commands · tab complete · ctrl+r search · esc close

Welcome to dlab.zone. Ask a question, type / for commands, or try `ls`.

NORMAL
choose-tree — pages and sections

↑ ↓ move · enter open · esc close

Keyboard shortcuts