GurusLab
Labs
Projects, tools and experiments running on this server. Each one is a self-contained directory, served over HTTPS from the same domain.
Word Pop
Speed-reading game for a 4-year-old — v2 adds voice input and speech.
guruslab.ca/labs/word-popExample Lab
A scaffolded lab — copy this pattern for the next project.
guruslab.ca/labs/exampleProofcapture
guruslab.ca/labs/proofcaptureHow a lab is added
A lab is a folder under public/labs/ with an index.php
(a PHP app) or an index.html (a static one). Either way it is live on the
next request — no nginx reload, no new DNS record, no new certificate.
New PHP lab: tools/new-lab.sh my-tool "My Tool"
Existing static app: symlink it in — public/labs/word-pop/index.html →
../../../../word-pop/v2/index.html — so edits in the project folder go live
immediately, with one copy of the file.
Private files (SQLite databases, uploads, credentials) go in
data/labs/<slug>/, which sits outside the web root and is never
served. Anything inside public/labs/<slug>/ is public by design.