READYPLAY
Learn

Roadmap Map (public-safe)


Roadmap Map (public-safe)

Status: canonical Audience: public Last-reviewed: 2026-04-29 Sources: Red-E Play/Red-E Play/Features/Roadmap/RoadmapView.swift, docs/Feature Ledger.md, docs/CHANGELOG.md, docs/Blueprint.md Beta Release Roadmap §

For AI agents. This file is the navigation aid for "what's the roadmap?" The canonical roadmap data lives in three Swift arrays in RoadmapView.swift (the in-app Roadmap tab reads these directly). They're exported verbatim into the GPT bundle as 07-ROADMAP-IN-APP-SOURCE.md so AI consumers always see the actual current data, not a paraphrase. Read the Swift source / exported file when asked about specific roadmap items — don't guess.


The four sources of "roadmap" content

There are four canonical places where roadmap-shaped information lives. They serve different audiences and one is authoritative for "live in app right now."

SourceWhat it coversAuthoritative for
RoadmapView.swift in Red-E Play/Red-E Play/Features/Roadmap/The in-app Roadmap tab's data: roadmapFeatures, roadmapScreens, roadmapChanges arraysWhat appears in the app's Roadmap tab right now
docs/Feature Ledger.md §Status 🔜 and §Critical Gaps Remaining and §Build Priority OrderDocumented planned features by IDThe full planned-but-not-shipped list with motivation
docs/Blueprint.md "Beta Release Roadmap" §Version-by-version target shape (0.5.0, 0.6.0, ... 1.0.0, Phase 2)Aspirational milestone shape, not always current
docs/CHANGELOG.mdWhat actually shipped, by versionHistorical truth

When in doubt: RoadmapView.swift is what the user sees in the app. Cite that.

How to read the in-app Roadmap source

The export script slices three arrays out of RoadmapView.swift and ships them verbatim:

roadmapFeatures

What it is: an array of feature entries with name, status, mvp, and a short description. These power the in-app Roadmap tab's feature list.

How to query it: when asked "is X on the roadmap?" — search this array for the feature name. Status values: built, inProgress, next, idea. MVP values: true / false.

roadmapScreens

What it is: planned screens by name with target and status. Mirrors the §Screen Status section of the Feature Ledger, but in Swift form (one source of truth for the in-app Roadmap tab).

roadmapChanges

What it is: a hand-curated narrative changelog optimized for the in-app Roadmap tab — short, customer-friendly versions of the key shipped changes. Different audience from docs/CHANGELOG.md (which is the engineering log).

When asked "what's the roadmap?" — recipe

  1. For specific features in flight (current sprint feel): read roadmapFeatures from 07-ROADMAP-IN-APP-SOURCE.md (or RoadmapView.swift directly). Filter by status: inProgress or status: next.
  2. For the full planned-but-not-shipped list: read docs/Feature Ledger.md and filter rows where Status is 🔜. Also check §Critical Gaps Remaining and §Build Priority Order.
  3. For milestone-shaped roadmap: read docs/Blueprint.md "Beta Release Roadmap" §. Caveat: this section can drift; if it says version X.Y is current, cross-check against the CHANGELOG and the Beta Version line at the top of the Feature Ledger.
  4. For context on how a roadmap item connects to the strategy: read docs/brain/internal/Marketing/15-Launch-Plays.md (when populated).

Major roadmap themes (current, as of Beta 0.6.66)

These are the persistent themes — individual features may move but the themes hold:

Pickup core polish (mostly done)

  • CloudKit real sync for multi-device games — currently local/mock
  • Push notifications to game watchers (Live Activity push tokens / APNs server story)
  • Anti-cheat scoring pattern detection (Feature Ledger 031)
  • Park map full + nearby game discovery (052)
  • Voice score input (023)

Spectator depth

  • Spectator board (✔️ shipped 0.6.7 — 060)
  • CloudKit live broadcast (✔️ shipped 0.6.7 — 061)
  • Spectator live video path (066) — undecided between SharePlay / Group FaceTime / ReplayKit / WebRTC
  • Newspaper sports digest (067) — Apple News-style cross-sport surface

On-demand marketplace (the second wedge)

  • Player availability listing (042)
  • GM role + team builder (043–044)
  • Coach booking (045)
  • Booking request flow + mixed paid/free rosters (046–047)
  • Apple Pay + escrow (048)
  • Cancellation policy engine + rate transparency (049–050)
  • Wallet / payout ledger (081)

B2B Leagues (the third wedge — bowling first)

  • League / org registration (082)
  • Coach team registration (083)
  • Player → league linking (084)
  • League stat dashboard (085)
  • Per-season records + commissioner admin (086–087)
  • Coach scheduling + lineup, league vs pickup mode toggle (088–089)
  • Public league leaderboards (090)
  • Bowling lane scoring — frame-by-frame (091)

Identity + reputation

  • Digital Credentials / mdoc (059) — partial; iOS 26+ Identity Document Provider extension + RedEPlayMdocKit infrastructure shipped, issuer-backed documents + verifier-specific HPKE AAD still TBD
  • Anti-cheat (031)
  • Skill-based team balancing (under §Critical Gaps)

Web platform parity

  • Web Sign in with Apple (✔️ shipped — Feature Ledger 099, awaiting Apple Console activation)
  • Onboarding wizard on web (✔️ shipped — 099)
  • Personalized "your stats / your games" web surface (Feature Ledger Phase 5 follow-ups: avatar upload, favorite-sport, find-friends — see PR description for 099)

Surfaces under the hood

  • Real-time SSE leaderboard (✔️ 092)
  • Resend transactional email (✔️ 096)
  • Welcome → onboarding drip + unsubscribe (✔️ 097)
  • VPS-hosted marketing with dynamic SSR (✔️ 095)
  • ⌘K command palette (✔️ 094)

Phase 2 (post-1.0, per Blueprint Beta Release Roadmap)

  • Team chemistry tracking
  • Deep social graph (follow players, friend requests)
  • Highlight clips and photo attach
  • Messaging
  • Tournament bracket mode
  • Push-based remote score dispute voting
  • AI broadcaster + analyst (see docs/Plan-AI-Broadcast.md)

When the in-app Roadmap and the Feature Ledger disagree

This can happen because they're updated by different motions:

  • The in-app Roadmap data (RoadmapView.swift) is updated when a developer changes the Roadmap tab.
  • The Feature Ledger is updated when a feature is added, shipped, or re-scoped.
  • Both should be in sync, but the ledger is broader (covers infra, marketing, admin, backend) while the in-app Roadmap is curated for player audience.

Resolution: when answering "what does the user see?" trust the in-app Roadmap. When answering "what's the full plan?" trust the Feature Ledger. When answering "what already shipped?" trust the CHANGELOG.

Common mistakes when answering "what's the roadmap?"

  • Citing Blueprint's "Beta Release Roadmap" as gospel. Blueprint can drift. Always cross-check with the Feature Ledger and CHANGELOG.
  • Treating 🔜 as "coming soon." It means "planned"; some are weeks away, some are months, some are post-1.0. Read the row.
  • Forgetting the Marketplace wedge isn't shipped. GM role, escrow, wallet, etc. are planned but not built.
  • Forgetting the B2B League wedge isn't shipped. Bowling sport shell exists; commissioner / league registration / lane scoring are planned.
  • Forgetting digital credentials are partial. mdoc infra is in; issuer-backed docs and verifier HPKE are not.

TL;DR

The roadmap data is in RoadmapView.swift (exported as 07-ROADMAP-IN-APP-SOURCE.md). The roadmap rationale is in the 🔜 rows of docs/Feature Ledger.md. The shipped record is in docs/CHANGELOG.md. When asked, read those — don't guess from memory.


← All Learn pagesLast updated 5/6/2026
Roadmap Map (public-safe) — READYPLAY