feat(marquee): Phase 0 — foundation (scaffold, backend switch, badge, memory round-trip) - #50
Merged
Merged
Conversation
…memory round-trip Marquee is a movie-catalog app that dogfoods the @baas SDK on both backends (plan: specs/plans/2026-06-20-marquee-dogfood.md). Phase 0 stands up the foundation, memory-backed: - apps/marquee: Vite + React + TS, added to the pnpm workspace (apps/*). - Design system lifted from the live demo (cream theme, Space Grotesk display, JetBrains Mono body, the exact color tokens incl. --sb/--cx). - makeBackend(kind) factory: memory wired live; supabase/convex are structured stubs that throw "wired in Phase 1" (exhaustive switch). - <BackendBadge/> + segmented backend switcher (Memory active; Supabase/Convex shown, disabled, "Available in Phase 1"). - Catalog stub proves a full round-trip through the PORTABLE store port only (backend.store.insert -> list, Result handled, never throws). Built by a builder agent; reviewed + verified independently: typecheck/build/ biome clean, and a Playwright browser smoke confirmed the UI renders, the insert->list round-trip works on screen, a11y states are correct, and the aesthetic matches the demo. Favicon added (the only console 404). Dogfood signal for a later SDK ergonomics PR: store.list<T>() returns items as T without surfacing the portable _id, so callers re-declare _id; a WithId<T> helper (or list widening the element type) would remove that.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
First phase of Marquee, a movie-catalog app that dogfoods the
@baasSDK on both backends. Plan:specs/plans/2026-06-20-marquee-dogfood.md.Phase 0 (memory-backed foundation)
apps/marquee/— Vite + React + TS, added to the pnpm workspace (apps/*).--sb/--cx).makeBackend(kind)factory — memory wired live; Supabase/Convex are structured stubs that throw "wired in Phase 1" (exhaustive switch).<BackendBadge/>+ backend switcher — Memory active; Supabase/Convex shown, disabled, "Available in Phase 1".backend.store.insert→list,Resulthandled, never throws).Built by a builder agent, verified independently by me
marquee, so CI builds the app too).role=status), aesthetic matches the demo. Console clean (favicon added).Dogfood signal (future SDK ergonomics PR):
store.list<T>()returns items asTwithout surfacing the portable_id, so callers re-declare it — aWithId<T>helper would remove that.Private app, not published; no changeset.