Source for lucholabs.dev/lab — the editorial deck.
Single-page static HTML with an eta templating pipeline that consumes content.json from the CV repo so the deck never drifts from canonical content.
THELAB/
index.template.html ← source of truth (edit this)
build.mjs ← reads content.json, renders index.template.html via eta
index.html ← BUILD OUTPUT (do not hand-edit)
es/index.html ← BUILD OUTPUT (Spanish mirror, falls back to en when es missing)
assets/ ← static assets (ascii-texture.png etc.)
package.json ← node tooling
npm install # one-time, installs eta
npm run build # produces index.html + es/index.html from index.template.html
npm run dev # build + serve on http://localhost:8000-
Push this repo to GitHub (separate from lucholabs-site).
-
Create a new Vercel project from the GitHub repo.
-
Build command:
npm run build -
Output directory:
.(project root) -
Note: the build needs
content.jsonaccessible. Options:- Include lucholabs-site as a git submodule, OR
- Vendor a copy of
content.jsoninto this repo at build time via a sync script, OR - Run the build locally and commit the rendered
index.html(simplest).
-
In
lucholabs-site/vercel.json, add a/lab/:path*rewrite pointing at your THELAB Vercel URL.
content.json (in the CV repo) is canonical for: identity, projects, manifesto, speaking, contact, faq, dead experiments. Eta tags in index.template.html read from it. Hand-edits to index.html are overwritten on next npm run build.
The current index.template.html is seeded from the previous hardcoded index.html. Eta-tag migration is incremental — each section can be converted from hardcoded to <%= it.section %> as needed without breaking the build.
- Palette:
#191919background,#fffaeewarm off-white,#00FF41phosphor green accent - Typography: Inter (display + body), Pixelify Sans (character), JetBrains Mono (metadata)
- Background: low-opacity ASCII texture (
assets/ascii-texture.png) + halftone dots + SVG grain - Chrome: deck-style header (green dot + crumb + Blog/CV pills), footer with section stamp + pager
- Vibe: editorial brutalist warm, "Born to Build"
01 Hero · 02 Manifesto · 03 Thesis · 04 Stack · 05 Projects index · 06 Boveda · 07 Phishing Shield · 08 Superfarm · 09 Trust · 10 Speaking · 11 Now & Next · 12 Archive · 13 Subscribe · 14 Connect