CueIQ Roadmap TODO
Status source: active Markdown replacement for the older CUEIQ_ROADMAP_TODO.md.docx artifact.
Last updated: 2026-06-14
Current release label in repo: v0.1.0-local-mvp
Latest hosted checkpoint: v0.1.2-staging-auth-live-data
Legend:
[x]complete[~]in progress[ ]not started or still open[!]blocked or waiting on owner/admin access
Accomplishment Log
Keep this section even after items are checked off. It records what has already been shipped so the roadmap does not accidentally re-open completed work.
- [x] Local PostgreSQL and pgvector schema exists in
db/schema.sql. - [x] Gemini direct public YouTube URL analysis exists in
cueiq/gemini.py. - [x] YouTube search, playlist ingestion, FargoRate player fetch, CLI analysis, frequency, and clip-add flows exist.
- [x] FastAPI bridge exists for health, auth context, stats, videos, frequency, players, stroke clips, review queue, detection review, and billing/trust flows.
- [x] Three-library schema boundaries exist: pro golden, personal, coach-team, and community fields for ownership, visibility, rights, consent, moderation, training eligibility, and retention.
- [x] Stripe checkout, billing portal, webhook signature verification, event idempotency, signup intents, and entitlements are scaffolded.
- [x] Usage ledger and tier analysis-minute allowances are implemented.
- [x] Human review loop exists with review status, corrected clip windows, curator notes, quality scoring, and benchmark promotion.
- [x]
technique_narrative,shot_events, and shot-event-linked detections are implemented in schema, models, prompts, storage, API, and tests. - [x] Prompt version has advanced past the old v2 plan to
phase1-billiards-v7. - [x] App-level rate limiting exists for public write endpoints.
- [x]
run.py retention-purgeexists for expireddelete_aftercleanup. - [x] Cloudflare Pages staging frontend is live at
https://cueiq-io.pages.dev. - [x] Render FastAPI staging API is live at
https://cueiq-api-staging.onrender.com. - [x] Supabase Auth/Postgres are connected to staging.
- [x] Dashboard staging API base points to Render through
site/assets/cueiq-auth-config.js. - [x] Cloudflare CSP allows the Render staging API origin.
- [x] Supabase asymmetric JWT/JWKS verification is implemented for hosted auth.
- [x] Hosted dashboard was verified reading live Supabase-backed data instead of demo fallback data.
- [x] Latest hosted verification showed
API ready,live database,5analyzed videos,56technique detections, and4players profiled. - [x] Local test suite passed at the hosted-auth checkpoint:
111 passed. - [x] Break and pattern intelligence has been documented as a Phase 3+ feature family, separate from this main roadmap TODO.
Current Main Roadmap Priority
Near-term priority is not more feature breadth. The main job is to make CueIQ feel like a high-quality SaaS concept:
- trusted live data,
- reliable auth and billing,
- clear coach/academy value,
- tight legal and rights posture,
- reviewed examples instead of raw AI output,
- and a controlled private beta before public self-serve.
Break Lab, Pattern Library, private uploads, community review, and custom CV models stay behind these gates.
Phase 1 - Data Quality And Library Foundation
- [x] Keep local MVP pipeline and schema stable.
- [x] Add richer detection context through
technique_narrative. - [x] Add shot-event segmentation and shot-event-linked detections.
- [~] Maintain a small live staging dataset. Current hosted checkpoint has real data, but not enough for beta value.
- [ ] Analyze enough high-signal pro footage to reach at least 20 strong videos in the hosted/staging database.
- [ ] Curate 100 verified golden examples before inviting broader coach beta traffic.
- [ ] Populate
technique_definitionswith definitions, visual criteria, false positives, and prompt guidance for each core category. - [ ] Populate or compute
player_library_profilesfor the first top-player cohort. - [ ] Calibrate confidence thresholds from reviewed detections instead of relying on the default
0.65. - [ ] Seed quality benchmarks from verified examples and use them before future prompt changes.
Phase 2 - Hosted SaaS Foundation And Private Coach Beta
- [x] Deploy static frontend to Cloudflare Pages.
- [x] Deploy FastAPI backend to Render staging.
- [x] Connect staging frontend to Render API instead of localhost.
- [x] Connect staging API to Supabase Auth/Postgres.
- [x] Fix Supabase
ES256token validation through JWKS. - [x] Verify dashboard reads live API/database data after sign-in.
- [x] Document Render staging environment variables with placeholder-only
.env.render.staging. - [~] Keep Stripe in test mode until webhook entitlement updates are verified end to end.
- [ ] Register Stripe test webhook endpoint:
https://cueiq-api-staging.onrender.com/api/webhooks/stripe. - [ ] Verify Stripe checkout -> webhook ->
subscription_entitlementsupdate ->/api/metier change. - [ ] Set owner/admin access in Render with
CUEIQ_ADMIN_EMAILSand verify admin-only routes. - [ ] Run one controlled live Gemini analysis against the Supabase-backed staging database.
- [ ] Confirm the new live analysis appears in the Cloudflare dashboard without manual database edits.
- [ ] Configure
api.cueiq.ioafter DNS is ready, then update frontend API base and CSP allowlist. - [ ] Move DNS for
cueiq.io,www.cueiq.io, andapp.cueiq.ioto Cloudflare custom domains when ready. - [ ] Add Cloudflare/WAF edge rate limiting before public CueIQ.io exposure.
- [ ] Decide production browser session posture: keep
localStoragefor private beta with strict CSP, or move to HttpOnly secure cookie flow before public launch. - [ ] Configure hosted scheduled retention purge.
- [ ] Define and test backup/restore process for Supabase Postgres.
- [ ] Add a repeatable staging smoke-test script for auth,
/api/me, stats, videos, frequency, players, billing entitlement, and security headers. - [ ] Invite 10-20 coaches or serious players only after Stripe/auth/data quality gates are passing.
Phase 2 Product-Quality Gate
These are concept-quality tasks, not broad feature work.
- [ ] Write the one-sentence private beta offer for coaches and academies.
- [ ] Define coach beta success metrics: activation, saved examples, review usefulness, trust failures, and willingness to pay.
- [ ] Define the minimum credible library for beta: player coverage, technique coverage, verified example count, and timestamp quality.
- [ ] Review pricing and tier promises against actual available library depth.
- [ ] Add a product-quality checklist for every public claim: source evidence, rights posture, review status, sample size, and confidence.
- [ ] Decide which live dashboard sections should stay hidden or labeled as demo until real data exists.
- [ ] Audit homepage/pricing copy to emphasize verified film-room/library value instead of generic AI analysis.
- [ ] Collect structured feedback from the first coach testers before adding new feature surfaces.
Phase 3 - Production Workspace And Paid Libraries
- [ ] Keep static dashboard capped for private beta; do not grow it into a long-term production app.
- [ ] Decide timing for the Next.js + TypeScript + Tailwind workspace migration.
- [ ] Add saved searches, library collections, player profile pages, technique profile pages, and coach workspace flows only after the beta value is validated.
- [ ] Add job history and async analysis-job status before exposing user-triggered analysis.
- [ ] Enforce quota and credit usage on any fresh-analysis trigger before users can run it themselves.
- [ ] Add account and billing portal UX that clearly explains plan, tier, remaining analysis minutes, and entitlement state.
- [ ] Add admin/curator metrics: verified clips per hour, rejection reasons, timestamp drift, prompt version quality, and reviewer agreement.
- [ ] Add production-safe observability: errors, latency, webhook failures, Gemini spend, queue failures, and database health.
Phase 4 - Uploads, Coach Teams, And Dataset Flywheel
- [ ] Do not launch personal uploads until consent, rights confirmation, retention, deletion, export, and owner/team permissions are complete.
- [ ] Add private upload storage only with signed upload URLs and clear user ownership.
- [ ] Add coach assignment and review flows after team/academy permissions are designed.
- [ ] Keep private and community clips
training_eligible=falseby default. - [ ] Add moderation, reporting, blocking, takedown, deletion, and minor-safety workflows before community review.
- [ ] Add dataset export/versioning only after enough reviewed examples exist.
Phase 5 - Model Evaluation And CV Readiness
- [ ] Build a held-out golden benchmark set before training or fine-tuning any model.
- [ ] Add prompt/model evaluation reports that compare Gemini runs against verified examples.
- [ ] Add cost comparison dashboards before deciding on owned hardware.
- [ ] Do not buy or depend on DGX/owned hardware until data, cost, and evaluation gates are met.
- [ ] Keep break/pattern CV work in
docs/CueIQ_Break_Pattern_Feature_Plan.md; do not merge it into the main SaaS roadmap until Phase 3 gates are met.
Main New Roadmap Tasks Added 2026-06-14
These are separate from the break/pattern feature plan.
- [ ] Create a staging smoke-test command or script that can be run after every Render/Cloudflare deployment.
- [ ] Create a Stripe test matrix covering checkout, webhook replay, cancellation, past-due status, customer portal, and entitlement downgrade.
- [ ] Create an owner/admin provisioning runbook for
CUEIQ_ADMIN_EMAILSand future admin roles. - [ ] Create a 100-golden-example curation plan by player, discipline, technique category, and review owner.
- [ ] Create a sample-size policy for any player-profile percentages or strategic claims.
- [ ] Create a production copy/audit checklist so marketing claims never exceed verified data.
- [ ] Add a release checklist for promoting staging changes toward
cueiq.iocustom domains. - [ ] Add backup, restore, and retention verification to the production readiness checklist.
- [ ] Add a beta feedback template for coaches that captures search behavior, trust failures, missing technique definitions, and willingness to pay.
- [ ] Add an explicit "no new feature surface" gate until hosted auth, billing, live data, and 100 verified examples are stable.
Deferred Feature Backlogs
These belong in separate feature docs and should not block the main SaaS quality gate:
- Break Lab and Pattern Library:
docs/CueIQ_Break_Pattern_Feature_Plan.md. - Private uploads and coach teams: Phase 4 implementation plan still needed.
- Community review: Phase 4 or later implementation plan still needed.
- Proprietary CV/model training: Phase 5 or later evaluation plan still needed.