Opportunity Lab
Competitor discovery and keyword opportunities for the active domain.
… Project: … Domain: … … Validating
A lab-only fork of the /app board — the same tasks, file browser (Files) and knowledge base modal, on the same data. Changes here stay in /lab and never reach /app.
Tasks
lab new tasks added automatically each week when you log in
Plumbing available to any experiment
Lab.auth.token()— the signed-in JWT (localStorageauth_token)Lab.project.current()— active project id + resolved domainLab.api.get/post(path, body)— authenticated call to server.heyemmett.com/todo_queueLab.ui.note(id, text, cls)— status line helper- Connections:
Lab.openConnections()opens the shared connections manager - Styles: reuse global
#lab-*classes, or the shared.oh-scopelist/button classes
Live probe
Calls GET /todo_queue/projects/<id> with the current session.
—
Adding an experiment
- Add a
<section class="lab-pane" id="lab-pane-<id>" hidden>slot in this page. - Register it in the
EXPERIMENTSarray in the script below (id, title, description, status). - Render its markup from JS — global styles only, scoped Astro styles will not match dynamic content.