| Situation | Reach for | Why |
| Prototype to share around | One .html file, everything inline | Opens anywhere, no install, no build — attach it, drop it on ClickBridge, done |
| Interactive demo with real state | Single-file React component | Component power without project scaffolding; what Claude artifacts do |
| Small design system / reusable components | Vite + React + TypeScript + Tailwind → .tsx per component | The modularity you admired: each component a typed, testable file; shadcn to start |
| Real product or public site | Next.js (+ the row above) | Routing, server rendering, deploy story included |
| Personal tools à la RichOS | Single-file HTML + a data .js file | Your Ledger/console pattern — no build step, iCloud-syncable, agent-editable |
| Term | Plain meaning |
| Vite | "veet" (French for fast) — the standard dev server + bundler: runs your project locally with instant reload, then packs it for shipping. What you heard as "white" |
| Node.js | JavaScript running outside the browser — powers all the tooling below |
| npm | The package installer; node_modules is the folder where dependencies land |
| Build step | The compile pass between your code and the browser: strip types, bundle, minify |
| Bundler | Squashes many source files into a few optimized ones browsers load fast |
| HMR / hot reload | Save a file, see it in the browser instantly — no refresh |
| Component | A reusable UI function: takes props in, returns markup out |
| Props | The inputs a component receives — effectively its API |
| State | Data that changes while the app runs; changing it re-renders the UI |
| Hooks | React's functions (useState, useEffect) that give components state and side-effects |
| JSX / TSX | HTML-style markup written inside JS / TS — the React component file format |
| SFC | Single-file component (.vue, .svelte): template + script + style as one file |
| Tailwind CSS | Styling as tiny utility classes in the markup (p-4 = padding); no separate stylesheet |
| shadcn/ui | "shad-see-en" — copy-paste TSX components built on Tailwind; the code lands in your repo, not a locked dependency |
| Headless UI | Components that ship behavior (menus, dialogs) with zero styling — you skin them |
| Component library vs design system | Library = the coded parts; design system = parts + tokens + usage rules |
| Design tokens | Named values (colors, spacing, type) shared by design and code; CSS --variables carry them |
| Routing | Mapping URLs to views; in Next.js, folders are the routes |
| SSR / SSG | Server-side rendering / static generation — HTML built on the server or at build time, for speed and SEO |
| Hydration | The browser attaching live JS behavior onto server-rendered HTML |
| API route | A small server endpoint living inside the same project as the UI |
| Vercel / Netlify | Push-to-deploy hosting; Vercel are the makers of Next.js |
| Repo / monorepo | The versioned project folder / several apps sharing one repo |
| Framework vs library | A framework calls your code (Next.js); a library is called by your code (most everything else) |
| Linter / Prettier | Flags code problems / auto-formats code — why AI output all looks the same |
| CDN | Servers hosting files near users — how single-file pages pull in libraries with one <script> tag |
| localStorage | A small per-browser key-value store a page can save to (drafts, preferences) |
| WebSocket | A persistent two-way browser↔server line — live updates without refreshing |
| a11y | Accessibility ("a-eleven-y") — keyboard + screen-reader usable; semantic HTML is most of the battle |
| Breakpoints / responsive | Layout adapting to screen width via CSS media queries |
| Vibecoding | Describing intent in chat while AI writes the code; you steer by judgment — principle #10 with a keyboard |
Front-End Primer · @ Singularity 🧠/Technologies · v2 compact · Aug 29, 2026 · stacks named are the common vibecoding defaults of the day, not an exhaustive survey