Front-End Primer

The modern stack for a returning builder · languages · React/Next · single files vs projects · Aug 2026

The three languages (+ one dialect)

LayerJobWhat changed since you left
HTMLStructure — what's on the pageSame as ever; semantic tags matter for a11y
CSSAppearanceFlexbox + Grid killed float layouts; custom properties (--vars) = built-in design tokens; no preprocessor needed for most work
JavaScriptBehaviorModern JS (ES6+) is genuinely nice: arrow functions, template strings, modules, async/await
TypeScriptJS + type annotationsThe parenthesis explained: TS is JS with types bolted on (name: string). A build step strips the types → plain JS runs in the browser. Types catch bugs while writing and make AI-generated code far more reliable — which is why vibecoding tools default to it

The file-extension decoder

React in five bullets

The build layer (why projects need npm)

Next.js in three bullets

How vibecoding tools map to stacks

ToolDefault output
Claude (artifacts / Cowork)Single-file HTML, or a single-file React component
v0 (Vercel)Next.js + Tailwind + shadcn, TSX files
Lovable, BoltReact + Vite + Tailwind project (full repo)
Cursor, Claude CodeWhatever the repo already is — bring your own stack
ReplitFull-stack app (front end + server + hosting)

The decision table — your JTBD

SituationReach forWhy
Prototype to share aroundOne .html file, everything inlineOpens anywhere, no install, no build — attach it, drop it on ClickBridge, done
Interactive demo with real stateSingle-file React componentComponent power without project scaffolding; what Claude artifacts do
Small design system / reusable componentsVite + React + TypeScript + Tailwind → .tsx per componentThe modularity you admired: each component a typed, testable file; shadcn to start
Real product or public siteNext.js (+ the row above)Routing, server rendering, deploy story included
Personal tools à la RichOSSingle-file HTML + a data .js fileYour Ledger/console pattern — no build step, iCloud-syncable, agent-editable
The one-sentence fluency test: "Is this a single-file job or a components job?" — everything above is downstream of that split. Single file = speed and portability; components (.tsx) = reuse, types, and teams.

Page 2 — Terms sheet

The words you'll hear this week, one line each. Pronunciations where people trip.

TermPlain 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.jsJavaScript running outside the browser — powers all the tooling below
npmThe package installer; node_modules is the folder where dependencies land
Build stepThe compile pass between your code and the browser: strip types, bundle, minify
BundlerSquashes many source files into a few optimized ones browsers load fast
HMR / hot reloadSave a file, see it in the browser instantly — no refresh
ComponentA reusable UI function: takes props in, returns markup out
PropsThe inputs a component receives — effectively its API
StateData that changes while the app runs; changing it re-renders the UI
HooksReact's functions (useState, useEffect) that give components state and side-effects
JSX / TSXHTML-style markup written inside JS / TS — the React component file format
SFCSingle-file component (.vue, .svelte): template + script + style as one file
Tailwind CSSStyling 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 UIComponents that ship behavior (menus, dialogs) with zero styling — you skin them
Component library vs design systemLibrary = the coded parts; design system = parts + tokens + usage rules
Design tokensNamed values (colors, spacing, type) shared by design and code; CSS --variables carry them
RoutingMapping URLs to views; in Next.js, folders are the routes
SSR / SSGServer-side rendering / static generation — HTML built on the server or at build time, for speed and SEO
HydrationThe browser attaching live JS behavior onto server-rendered HTML
API routeA small server endpoint living inside the same project as the UI
Vercel / NetlifyPush-to-deploy hosting; Vercel are the makers of Next.js
Repo / monorepoThe versioned project folder / several apps sharing one repo
Framework vs libraryA framework calls your code (Next.js); a library is called by your code (most everything else)
Linter / PrettierFlags code problems / auto-formats code — why AI output all looks the same
CDNServers hosting files near users — how single-file pages pull in libraries with one <script> tag
localStorageA small per-browser key-value store a page can save to (drafts, preferences)
WebSocketA persistent two-way browser↔server line — live updates without refreshing
a11yAccessibility ("a-eleven-y") — keyboard + screen-reader usable; semantic HTML is most of the battle
Breakpoints / responsiveLayout adapting to screen width via CSS media queries
VibecodingDescribing 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