The marketing site for Groove Guru, a DJ tutor that listens to Pioneer Pro DJ
Link gear on the booth LAN and coaches key, phrase and timing. One page, one
stylesheet, one script, served by Cloudflare Pages. No framework, no bundler, no
build step, no runtime dependency. It was designed in Claude Design and ported
as-is; the stack follows plan §19 in
Groove-Guru/groove-guru.
Nothing is released yet. The drill previews on the page are real and run in the browser; the booth harness, the coach and Pro are being built. So:
- The harness is labelled in development. The install block shows the
planned command (
groove-harness --iface en0), not a working one. - Pro shows its launch price, marked at launch.
- The iPad/iPhone companion is planned.
- "Get the harness" links to the GitHub organisation, because the harness repository is private until it is released.
When something ships, change its label in index.html and llms.txt together.
| Path | What it is |
|---|---|
index.html |
The page: hero, 01 floor, 02 zero-to-booth drills, 03 coach, 04 Camelot wheel, 05 wire, 06 get in |
assets/groove.css, assets/groove.js |
The one stylesheet and the one script. The page reads fine with JS off |
404.html |
Cloudflare Pages serves it for unknown paths, so they return 404 instead of the home page with 200 |
llms.txt, robots.txt, sitemap.xml |
Machine-readable summary, crawler rules, sitemap |
_headers, _redirects |
Security and cache headers; /github and /source short links |
| File | Use |
|---|---|
assets/favicon.svg |
The mark: a platter with the groove line cut through it. Off-white #f2f0ea, transparent |
assets/concrete.jpg |
The concrete texture the stylesheet tiles behind the page, sections and cast headings |
assets/logo-mark.svg |
The mark on a club-black tile. Source for the app icons |
assets/logo.svg, assets/logo.png |
Horizontal lockup, "groove guru". The PNG uses the real Instrument Sans and a transparent background; the SVG falls back to system fonts |
assets/icon-512.png, assets/apple-touch-icon.png |
App and home-screen icons |
assets/og.png |
Open Graph and Twitter card, 1200×630 |
assets/readme-banner.png, assets/org-avatar.png |
GitHub only: this README and the organisation profile. Not published on the site |
The raster files come from the HTML sources in tools/. After changing a source, run:
tools/render-og.sh # headless Chrome; writes every PNG abovePalette ("concrete"): canvas #0b0b0b; ink #f2f0ea for the mark, text and
primary buttons; greys #a19e97 and #9d9a93; lines #2a2a2a and #3d3d3d;
signal red #ff4a2b for warnings only. Headings are cast into a concrete
texture (assets/concrete.jpg, 768px tile, also behind sections and slabs);
controls read as hardware (keycap buttons, backlit pads, aluminium faders).
Type: Big Shoulders Display (headings, wordmark) and Big Shoulders Stencil
(section numbers), Instrument Sans (body), JetBrains Mono (labels).
The footer line naming what the site is built with (Cloudflare, live; Keep
Shipping deploys, planned) comes from the Factory Zero registry: this venture's
uses in Factory-Zero/website assets/fz-data.js, published as
https://factory0.ventures/stack.json and vendored in tools/built-with.json.
tools/built-with.py writes it between the built-with markers in
index.html; nothing is fetched at runtime. When the registry changes, run
python3 tools/built-with.py --pull, and update the "built with" section of
llms.txt with it. Never edit the strip or the JSON by hand.
python3 -m http.server 8787 # serve the repository root; there is nothing to buildMerging to main publishes nothing: the Pages project groove-guru (Factory0
Cloudflare account) is direct-upload. Deploy with:
tools/deploy.sh # builds origin/main in a throwaway worktree and deploys it
tools/deploy.sh --dry-run # builds it and says what would shipNever run tools/build-dist.sh && wrangler pages deploy dist from a working
copy. More than one agent session can share a checkout, and that ships whatever
the working copy holds. build-dist.sh is an explicit allowlist and stamps
content hashes onto the CSS and JS URLs so they can be cached immutably.
Pioneer DJ and Pro DJ Link are trademarks of their respective owners. Groove Guru is an independent open-protocol project, not affiliated with or endorsed by them.
