mindboost. Backlog
1High Priority
0This Week
16Planned
0Monitoring
This Week 0 tasks
Planned 16 tasks
Worker decommission — Task 1: Migrate stored media URLs
Find and replace all references to calebfoster-dashboard-api.mindboost.workers.dev/media/... in blog-posts.json, posts.json, and published journal article HTML. Replace with social.calebfoster.ai/media/....
Infra Site
High
Worker decommission — Task 2: CF Access service token for cron scripts
Create a Cloudflare Access service token via Zero Trust UI (Access → Service Auth → Service Tokens). Update cron scripts (generate-weekly-content.js, regen-draft-images.js) to use token headers against social.calebfoster.ai/api/* instead of old Worker URL. Then decommission legacy Worker.
Infra Cron
Medium
calebfoster.ai — JS-rendered service panels: make pricing visible to AI crawlers
Service panel pricing and deliverables are rendered via JavaScript slide-out panels. AI crawlers (Perplexity, ChatGPT Search, etc.) may not execute JS reliably, meaning commercial detail is invisible to them. Fix: duplicate key pricing/deliverables into static HTML (hidden visually if needed) or into JSON-LD Offer schema. This is the primary remaining AEO/GEO gap on the homepage.
Site SEO AEO
Medium
calebfoster.ai — Showcase: replace 5 "Coming Soon" placeholders with real content
5 showcase entries exist in the sitemap and showcase index but lead to empty/coming-soon pages. Search engines see these as soft-404s or thin content. Either build out the pages (preferred) or remove from sitemap and index. The Card Carousel learning component is the obvious first showcase piece — it's already live at /showcase/learning-carousel/.
Site SEO Content
Medium
a11y — Translucent text alpha floor: fix ~15 contrast failures
The design language uses rgba(255,255,255,0.3–0.45) for secondary text on dark backgrounds, and partial-opacity white on pink — all failing WCAG 1.4.3. Affects: hero subtext, hero em, scroll hint, section-label eyebrows, marquee items, service card descriptions, "Find out more" links, services-header copy, about-left body, stat labels, FAQ answer body, service-panel numbers. Fix: set a hard alpha floor of 0.7 on dark, solid white on pink. One design-token pass clears ~15 Major findings. Needs visual review before shipping — intentional aesthetic, subtle change.
Site A11y WCAG 1.4.3
Medium
a11y — Add focus traps to #servicePanel and #faqPanel
Both panels declare aria-modal="true" but have no JS focus trap — Tab from the close button leaks into the background page. This breaks WCAG 2.4.3 (Focus Order) and 4.1.2. Fix: copy the existing mobile menu trapFocus pattern at L1788–1797 into both panel open/close handlers. ~45 mins JS work.
Site A11y WCAG 2.4.3
Medium
a11y — Migrate service cards from <div role="button"> to native <button>
Service cards are <div role="button"> with inline onclick + onkeydown. Keyboard handling is functional but fragile. Replace with native <button> elements — removes the onkeydown workaround, inherits semantics, and satisfies WCAG 4.1.2 properly.
Site A11y WCAG 4.1.2
Low
a11y — Add aria-labelledby to #servicePanel and #faqPanel dialogs
Both dialog panels use a static aria-label ("Service details", "Common questions") instead of aria-labelledby pointing at the visible title. Screen readers announce the hardcoded label rather than the actual service name (Discovery / Project Support / Ongoing Refinement). Fix: add aria-labelledby="servicePanelTitle" and update the JS to set the title element's id per card.
Site A11y WCAG 4.1.2
Low
a11y — Differentiate "Find out more" link labels per service card
Three .service-link elements all read "Find out more" — identical link text breaks WCAG 2.4.4 (Link Purpose). Screen reader users can't distinguish them. Fix: add aria-label per link, e.g. "Find out more about Discovery", "Find out more about Project Support", "Find out more about Ongoing Refinement".
Site A11y WCAG 2.4.4
Low
a11y — Nav logo img alt text duplicate + hamburger inline style cleanup
Two minor issues: (1) Nav logo <img alt="Caleb Foster"> inside an aria-label="Caleb Foster — Home" anchor — name announced twice by screen readers. Fix: set alt="" on the img. (2) Hamburger has a redundant style="display:none" — already handled by shared.css and overridden at the breakpoint; remove the inline style. Apply to all four pages simultaneously (index, journal, showcase, Worker template).
Site A11y WCAG 1.1.1
Low
Migrate scorm-lms to Git-connected Cloudflare Pages project
Current project is Direct Upload type — shows "No Git connection" in dashboard. Delete and recreate as Git-connected project. Restore: D1 database binding (DB: 0f5ff29d), R2 bucket (scorm-lms-content), 3 env vars, custom domain lms.calebfoster.ai, CF Access policy. Do together with social dashboard migration.
Infra LMS
Medium
Migrate calebfoster-social-dashboard to Git-connected Cloudflare Pages project
Current project is Direct Upload type. Delete and recreate as Git-connected project. Restore: KV binding (FLAGS), R2 binding (dashboard-media), custom domain social.calebfoster.ai, CF Access policy. Plan for minimal downtime — do on a weekend.
Infra Social
Medium
lms.calebfoster.ai — Build SCORM LMS backend (v1)
The existing frontend shell at scorm-lms/index.html calls backend API routes that don't exist. Build the full backend using Cloudflare Pages Functions + R2 (file storage) + D1 (SQLite database). Scope: upload SCORM zip → parse manifest → store files in R2 → register in D1 → enrol learner → generate launch token → serve course in iframe with SCORM 1.2 API shim → track completion back to D1 → reports page. One-time setup: create R2 bucket scorm-lms-content and D1 database scorm-lms-db, add bindings in Pages project settings. Also need to exclude /launch/* and /api/scorm/* routes from Cloudflare Access so learners can reach their courses without being behind the Access wall. Full brief at workspace/team/briefs/STU-BRIEF-scorm-lms-backend.md.
Infra Studio Brief ready
Medium
Transfer calebfoster.ai to Cloudflare Registrar
Registered 17 April 2026 (Squarespace). ICANN 60-day lock prevents transfer until 16 June 2026. Auth/EPP code obtained from Squarespace — keep it safe (may expire; request fresh one if needed). Cost ~$80/yr at Cloudflare for .ai. Reminder set for 16 June 10am BST. Transfer URL: https://dash.cloudflare.com/09e6c2b56bf25401cab6a51d8b76625b/domains/transfer
Infra Site Blocked until 16 Jun
Low
Connect calebfoster-ai-ops to Git (auto-deploy)
InfraStudio
ops.calebfoster.ai is a Direct Upload Pages project — every change to workspace/learning-components/ requires a manual wrangler pages deploy or the site stays stale. ~20 min fix: delete and recreate calebfoster-ai-ops as a Git-connected project linked to fosterc1/learning-components. Restore: custom domain ops.calebfoster.ai, CF Access policy. No bindings needed (static site). Do at the same time as social dashboard migration.
Wednesday cron morning report — content generation visibility
ContentInfra
The Wednesday 10pm content cron runs silently. When it fails or generates bad posts (null entries, duplicates), there is no visibility until Caleb notices in the dashboard — sometimes days later. Fix: add a Wednesday morning (9am) summary message from Amanda: "Here's what the cron generated last night — 3 posts for w/c [date], hooks listed, any issues flagged." Runs after the cron (10pm Wed) so it reports on the previous night's output. Catches nulls, duplicates, and missing media before Caleb opens the dashboard. Model: Gemini Flash (simple summary).
Projects 2 projects
Freedom Framework — Phase 1 Infrastructure
Build the Freedom SCORM learning framework — mindboost.'s replacement for Adapt Authoring Tool. Phase 1 (Stu, 3–4 weeks): core framework with section-slot layout + component bus + SCORM shell; mb CLI (create, dev, build, package, content-template, content-import, asset-import, export-strings, import-strings, serve --review, review-link); Card Carousel ported as first component with full contentSchema + RTL CSS; CSS custom property theme system; XLIFF localisation pipeline with language picker; preview shell separable from SCORM shell (foundation for Phase 2 review tool). Private repo: mindboost-studio/freedom. Docs site: freedom.mindboost.dev. Phase 1 gate: developer can clone, create a course, and ship a valid SCORM zip in 15 minutes. Full brief: workspace/team/briefs/STU-BRIEF-freedom-framework.md. Product guide: workspace/team/briefs/FREEDOM-PRODUCT-GUIDE.md. Pitch deck: ops.calebfoster.ai/freedom/. Skill: workspace/skills/freedom/SKILL.md. Phase 2: BaxterStorey Neurodiversity course + client review tool + issue tracker. Phase 3: commercialise — open-source core + premium component packs.
Studio Dev Freedom
High
Rebuild mindboostlearning.com — applying calebfoster.ai lessons
Full rebuild of the mindboost. agency site using everything we've learned from calebfoster.ai — responsive-first, accessible, clean deploy pipeline, Pages Functions, Cloudflare Access where needed, cross-page consistency baked in from day one. Start with a proper Discover session: what does mindboost. need the site to do, who is the audience, what does success look like? Owen owns the visual world, Stu builds, Amanda orchestrates. Platinum Standard from the first pixel.
Studio Site Infra
Low
Creative 2 tasks
7 Steps — redesign as a flagship calebfoster.ai page
The thinking in Caleb's 7-step framework is platinum. The execution isn't. This is a calebfoster.ai personal brand piece — not a mindboost. agency doc. Brief Owen to redesign it for the site: dark premium aesthetic, Caleb's voice, Apple-level execution. One emotional truth per step, the "dream" motif as the spine, no tip bullets. Apple wouldn't give you five bullets per step — they'd give you one word, one image, one feeling. The framework deserves that on Caleb's site. Source PDF at workspace/tmp-7steps.pdf.
Studio Creative
Medium
mindboost. Design System — publish as org system in Claude Design
Design system was generated in Claude Design on 12 May 2026 — pink #e91e63, dark background #1a1a1a, Poppins, card carousel component, progress bars all correct. Needs to be published as the active org design system so all Claude Design projects inherit it automatically. Brief is at workspace/team/briefs/OWEN-BRIEF-mindboost-design-system.md. Share URL: https://claude.ai/design/p/019e1d74-a8fd-7382-a934-50e776cf62c4?via=share. Minor note: border radius generated at 8–12px vs 16px in brief — revisit when publishing. Update figma-design skill with final file URL once published.
Studio Creative Owen
Medium
Monitoring 0 items