# Flesh-out notes — Rian, night of 2026-07-18/19

> Captured verbatim-in-spirit from Rian's pre-sleep braindump. These notes
> REFINE docs/idea.md and, where they differ, win. Read alongside
> docs/review-learnings.md.

## Decisions locked tonight

1. **No scoring in v1.** Sounds, motion, rally feel only. Prove the loop first.
2. **Database self-hosted on mosiah** (Rian's call). Preference is to keep the
   Supabase-style realtime + image-paste-upload experience — so the plan should
   choose between (a) self-hosted Supabase stack (containers, local) or
   (b) plain Postgres + thin realtime layer + local storage, with a clear
   recommendation. The *experience* (live board, paste-a-screenshot that just
   works) is the requirement; the vendor is not.
3. **Auth = BW Auth Pattern B from day one** (already parked in idea.md).
   Infra is DONE: volleyboard.bowden.works live, gated account-mode, users
   rian/adi/tracy/erin/rob all granted.
4. **Keep essentially ALL of the review app.** Rian: "Essentially I like all of
   it, I just want to gameify it." Specifically called out: group types of
   issues (= court configurations — find a more volleyball-y term if one
   exists), sort/filter/search, scrolling board, commenting/notes/notifications,
   quick URL references on page-review rows, tagging. The game is a SHELL over
   the proven review machinery, not a replacement for it.

## The perspective model (fleshed out — this is the soul)

How you perceive a game depends on who you are and how the team is organized
for that particular court. Concrete worked example (use these real people as
the test roster):

- **Rian's view:** Brentwood on one side; Rian + Adi on the other. Rian passes
  over the net → Erin receives → maybe Rian sees her pass to Tracy → it comes
  back over the net → Rian passes to Adi.
- **Adi's view:** similar court, but he sees Rian receive and pass to him —
  and then Adi can pass into his **Tingang team**, a whole game Rian never
  sees.
- **Tingang team's view:** Bowden Works on one side, Tingang on the other.
  They see Adi receive a ball and pass to one of them; they pass back to Adi
  or maybe directly over the net.
- **Autopass rules:** Adi may set a rule so that when his team passes back to
  him, he automatically passes to Rian. Adi sees himself in the middle (a
  player on two courts); his team just sees Tingang vs Bowden Works.
- **Visibility rule:** Erin can see Adi is on Rian's team (behind Rian), but
  has NO visibility into Adi's sub-team. Symmetrically, Brentwood may have
  people behind Erin that Rian can't see — **Rob plays this hidden
  behind-the-scenes Brentwood-side person** in the test roster.

Test roster for the build: rian + adi (Bowden Works), adi's Tingang crew
(sub-team; can be fictional names), erin + tracy (Brentwood front line),
rob (Brentwood back-office, invisible to the Bowden side).

## The experience bar (design constitution — every feature judged by this)

- **Super usable.** Easy to understand how it all works once you start
  playing. NOT over-gamified. No arcade.
- **Everything purposeful.** The ball is just an indicator of who has the
  action. No skill mechanic, no sitting through crazy animations on every hit.
- **But delightful.** Fun sound + motion that would naturally exist in a PM
  app anyway. The benchmark: how it feels to cross off a to-do item — but the
  ENTIRE experience is like that, including entering the todo. You want to
  keep moving through things and feel great about passing the ball around.
- **Forget scoring for now.**

## What Rian wants next (the overnight arc)

1. A plan (docs/plan-v1.md → iterate in place) that gamifies the review app
   into something that could feasibly be THE ENTIRE GAME — then a critique
   pass focused on experience/usability, iterated until it's genuinely great.
2. After Rian wakes and clears any blockers: a build run — sample teams and
   tasks seeded, **using Brentwood data from the review app as test content**
   (the review app lives at /srv/apps/review; its Supabase creds are in its
   .env, readable by rian — export real pages/issues/notes as seed data).
