Synapse Design System

App Flows

The advisor journey

The v1 in-person ad-board journey from the product brief §4, told as storyboards — each flow a row of true ~393px iPhone screens you scroll through left-to-right. Screens are full-fidelity but static (a storyboard, not a clickable prototype). The intent: hand a flow to an agent and say "build this in the React Native app." Each frame's caption notes what it does and which spine records it reads or writes. Jump between flows from the sidebar.

Home

The surface the app opens onto — the app at rest, not a journey. STANDALONE main-page screens as labeled path rows: Take A (concierge desk) vs Take C (Ben's synthesis — needs-you alert over per-type doors), then the per-type drill-down paths (Adboards hub → board home → updates feed · Brand Reels · Surveys). All CANDIDATE (2026-06-12) — no take accepted; nav/tab IA undecided.

CANDIDATES on the rail — Take C (Ben's directed synthesis: A's needs-you alert + B's per-type organization; B parked) is the working lead. Register grammar (Ben, 2026-06-12 — card-surface memory): full-color fill = ALERT only · ink outline + hard shadow = important actions only, never chrome · normal cards cream-50 tone-on-tone · chrome = frosted layer (TabBar). Messaging take (no Dn, NOT in the brief): one-way engagement-owned broadcasts (updates feed), no Messages tab, no rooms. Ben's wireframe (screens/home/home-wireframe-2026-06-11.png) = a STARTING POINT — intent + content inventory, one of many paths, NOT a spec; design from it, don't trace it (three takes died doing the literal translation). Spine READs only — no Dn yet; TabBar.astro is parked PLACEHOLDER chrome. profile/Home.astro is this surface's SETUP state and day-of/Today.astro its DAY-OF state — folding both in is the planned cohesion pass. Rejected takes + lessons in HANDOFF.md — don't re-pitch without new reasoning. Structure note: screens/home/README.md.

Entry · Take A vs Take C

Synapse AO

Good afternoon,
Dr. Okafor

One thing needs you.

New invitation

Better Living Advisory Board

Veltrix Canada · Toronto · Tue, Oct 6

In motion

Oncology Advisory Board

You’re set for Thursday · doors 5:30 pm

Renal Insights honorarium

Cheque mailed Tuesday

Wednesday’s dinner receipts

Add them whenever you’re ready

Browse

Adboards

6 advised

Brand Reels

12 reviewed

Surveys

1 upcoming

Need a hand? Reach Maya, your Synapse contact.

Home Reels Notifications AO
Take A · concierge desk ⚠️ CANDIDATE — Ben hasn't accepted. Triage leads: NEEDS YOU (the one deep ask) · IN MOTION (handled, quiet — ✓ settled, › optional) · BROWSE (per-type doors). Cross-type feed = a projection over Participation{status, honoraria} — statuses are spine, type-agnostic; rows deep-link INTO the type modules. Precedent: Wealthsimple home / Superhuman triage.
Synapse AO

Good afternoon,
Dr. Okafor

New invitation

Better Living Advisory Board

Veltrix Canada · Toronto · Tue, Oct 6

Adboards

Thursday’s board — you’re set

Honorarium cheque in the mail

Brand Reels

Nothing waiting

12 reviewed to date

Surveys

Async 2026 opens Monday

We’ll nudge you when it’s ready

Need a hand? Reach Maya, your Synapse contact.

Home Reels Notifications AO
Take C · Ben's synthesis ⚠️ CANDIDATE — Ben's direction (2026-06-12), not yet accepted: A's NEEDS-YOU layer on top + B's per-type organization below. Styling GRAMMAR (his refinement): a full-color fill = the ALERT treatment, reserved for alerts only — intentionally distinct from every normal card (a white hard card read too much like the others). The ask = the deep-coral InviteCard (shared artifact); doors = cream-50 tone-on-tone soft cards; color elsewhere only in chip/overline/badge doses. Same content moment as A/B.

Path · Adboards door

Adboards

Adboards

Your record with Synapse, board by board.

New invitation

Better Living Advisory Board

Veltrix Canada · Toronto · Tue, Oct 6

Upcoming

O Oncova Therapeutics
You’re set

Oncology Advisory Board

Thu, Sep 18 · 6:00 pm

Fairmont Royal York · Toronto

MC TR LB 6 advisors

Past boards

Renal Insights Roundtable

May 28 · cheque in the mail

First-Line Futures Adboard

Mar 12 · honorarium paid

CAR-T Horizons Adboard

Nov 14, 2024 · honorarium paid

Every board you’ve advised lives here — your record carries to the next one.

Home Reels Notifications AO
Adboards · the type hub ⚠️ CANDIDATE — Ben hasn't accepted. The per-type retrieval surface BOTH takes land on (A's Browse door / B's Adboards door — same destination either way). Invite (the shared InviteCard artifact) → upcoming (media-card) → past boards as quiet rows, money status in the subtitle (candid, D17 cheque). The history IS the flywheel made visible. READ Invite + Participation × Engagement{type: advisory_board} incl. honoraria.status.
Tap the Oncology card
Adboard

In 6 weeks

Oncology Advisory Board

Thu, Sep 18 · doors 5:30 pm · starts 6:00

Fairmont Royal York · Toronto

Hosted by Oncova Therapeutics

You’re set — nothing needs you before the board.

RSVP

Confirmed

Contract

Complete

Travel

No trip

This board

Updates

Materials posted · today 2:10 pm

Agenda

3 sessions · working dinner included

People

6 advisors around the table

Materials

2 briefing documents · ready now

Your needs

Vegetarian · step-free — from your profile

After the board

Honorarium

By cheque, after the board

Expenses

Snap your receipts here after dinner

We’ll send your check-in pass the afternoon of the board.

Home Reels Notifications AO
Adboard home · one board, steady state ⚠️ CANDIDATE — Ben hasn't accepted. The per-ENGAGEMENT surface (the ad-board module's home) post-accept pre-event. One glance says nothing needs you (summary strip: RSVP · contract D6 flag · travel — D30's absent step, ‘Local, no trip to book’), then random-access rows (Hub pattern): updates · agenda · people · materials · your needs (from the profile, D16) · after-board money (cheque D17, expenses). Siblings: invitation/Board = its accept moment · day-of/Today = its day-of state. READ Engagement + Participation{contract_status, travel, overrides, honoraria} + roster.
Tap ‘Updates’
Adboard

Oncology Advisory Board

Updates

From your Synapse team — anything posted here also reaches you as a push, so there’s no need to check in.

Synapse

Materials

Your briefing materials are posted — two documents, about 20 minutes of reading.

Today · 2:10 pm

Synapse

Agenda

Agenda confirmed. Doors at 5:30, working dinner included — no need to eat first.

Mon · 9:04 am

Synapse

Welcome

Welcome aboard — you’re confirmed for September 18. Anything that changes about the evening gets posted here.

Aug 2

Have a question?

This feed is one-way — reach Maya, your Synapse contact, and she’ll sort it out.

Home Reels Notifications AO
Adboard updates · the broadcast feed ⚠️ CANDIDATE — Ben hasn't accepted; messaging has NO Dn and is NOT in the brief. The take: messaging = ONE-WAY ops broadcasts OWNED BY THE ENGAGEMENT (module data — throw-away test), never a Messages tab. Authored on web (D20 staff broadcast), delivered as D12's push which deep-links here; optional chips deep-link into the board. No composer — questions go to the Maya line (1:1 escalation); advisor↔advisor rooms deliberately don't exist (attributed-by-structure chat vs D21's candor posture). Precedent: airline status feed / Luma event updates. Would need a module table (engagement_update) — not in the schema yet.

Path · Brand Reels door

Brand Reels

Brand Reels

Sponsor films, your expert read — paid per review.

Nothing to review right now

A reel takes about 15 minutes when one arrives — we’ll nudge you.

Reviewed

Launch film · first cut

Veltrix

May 6 · paid

MOA explainer

Oncova

Apr 22 · paid

Patient-start guide

Veltrix

Mar 3 · paid

Congress sizzle reel

Castellan Bio

Jan 28 · paid

Every reel you’ve reviewed lives here — your record, reel by reel.

Home Reels Notifications AO
Brand Reels · the type hub ⚠️ CANDIDATE — Ben hasn't accepted. Same hub SKELETON as Adboards (the ask → the active → the record), this type's flavor: reels are MEDIA, so the record is a 2-col media grid, and this moment has NOTHING WAITING — the ask slot is the honest empty state (‘we'll nudge you’). ‘Ad reels’ = ANTICIPATED type (likely market_research × async), NOT in the brief — designed at the v5 horizon. Money candid per reel (D17). READ Participation × Engagement + honoraria.status.

Path · Surveys door

Surveys

Surveys

Short questionnaires, on your schedule.

Opens Monday Upcoming

Async 2026

About 20 minutes · open through Sep 30

Nothing to do yet — we’ll nudge you the moment it opens.

Past surveys

Prescriber Pulse 2026

Feb 10 · honorarium paid

Treatment Landscape 2025

Oct 24, 2025 · honorarium paid

Each survey asks less than the last — your record carries forward.

Home Reels Notifications AO
Surveys · the type hub ⚠️ CANDIDATE — Ben hasn't accepted. Same hub skeleton, this type's flavor: a survey is a WINDOW (opens/closes), so the active slot is a waiting card with NO CTA — nothing to do until it opens, said plainly (the absent step). Scope honesty: D7 keeps the near-term survey OUT of the app (no form builder) — this is the v5-horizon surface for surveys run as engagements; it does NOT imply v1 scope. READ Participation × Engagement{type: survey} + honoraria.status.

Your invitation

One flow, forked on membership: respond to a board invite. New advisor → claim account + set up profile, then accept. Returning member → the invite opens straight to the board. Both converge on the one accept.

Brief §4 steps 1+3 as ONE forked journey (D32; claim ≠ accept but the same flow, D31). New-advisor fork = claim account (D12 app-first install, D13 passwordless) + consent (D29) + profile (Step 2); returning members skip it. Shared: READ Invite/Engagement; WRITE AuthCredential, ConsentRecord (baseline D29 + per-board IMC D30); Participation invited → claimed → registered; travel/needs (D19 capture-only, geo-default local).

entry + 10 screens
Synapse

Text Message · Today 9:38 AM

Hi Dr. Okafor — you're invited to the Oncology Advisory Board (Sep 18, Toronto). Claim your spot: syn.to/aB9x2k

Text Message
Entry · the invite One invite (SMS/push). NEW advisor → up the setup lane; RETURNING member → the dashed bypass straight to the Board. The fork is membership, not the invite (D31).
syn.to/aB9x2k
Synapse

Get the app to claim your spot

Hi Dr. Okafor — your Oncology Advisory Board invite lives in the Synapse app. Install it to claim your spot, and we'll keep your reminders and honoraria in one place.

Synapse

Synapse Medcom · advisory boards

Already installed? Open Synapse

Get the app No-app branch (D12) · web landing (not the app)
Open the app
Synapse with Oncova

You're invited

Welcome, Dr. Okafor

You've been invited to the Oncology Advisory Board. Claim your account to respond — we'll set you up in about a minute.

We've pre-filled what we have from vetting, so there's barely anything to enter.

Not Dr. Okafor?

Claim your account New-advisor gateway · greets by name pre-auth · board = one-line context (full details on the Board) · CTA ‘Claim your account’ (D31)
Tap ‘Claim your account’

Let's verify it's you

We'll send a one-time code — no password to remember.

Passwordless — no password to store

Sign in Passwordless · pick channel (D13) · auth = account creation
Send code → enter it

Enter your code

We sent a 6-digit code to a.okafor@…

2
8
4
1
Verify WRITE AuthCredential · account created (provisional → active)
Account created

Your consent

How Synapse uses your details — in plain language. Withdraw any time.

  • Terms of use

    v3 · how Synapse works

    View
  • Privacy policy

    How we protect your data

    View

Pre-fill me across future boards

Optional

Lets us reuse what you enter so we never ask twice. Separate from the terms — withdraw anytime from your profile.

Consent is logged with a timestamp and policy version

Consent Baseline T&C + Privacy · reuse opt-in separate (D29) · WRITE ConsentRecord
Tap ‘Agree and continue’

You're all set

Your account is active, Dr. Okafor. One quick step before the board.

Next: complete your profile

Travel, dietary, and payee — we'll remember it next time.

Account active Participation: invited → claimed · next: set up your profile
Set up your profile (Step 2) →
First board — claim your account + set up your profile
Returning member — straight to your board →
Your invitation

Can you join?

Oncology Advisory Board

Thu, Sep 18 · 6:00 pm

Fairmont Royal York, Toronto

Hosted by Oncova Therapeutics

$1,500 honorarium

A facilitated roundtable with 6 advisors. Paid by cheque after the board.

I agree my participation and honorarium are shared with Oncova, as the IMC Code requires. Read the board's terms

Your board · the accept Both forks meet here. A returning member's invite opens straight to THIS screen (the bypass); a new advisor arrives after Profile. READ Engagement · express per-board consent (IMC, D30) · Participation claimed → registered
Tap ‘Accept invitation’
1 of 2

Getting there

For this board only — nothing here changes your profile.

You're local — no travel to book

The Fairmont Royal York is in Toronto, so we'll skip flights and dates.

A room the night of? — it runs to 9:00 pm

Parking at the venue?

We capture this for the planners — they handle the booking

Getting there D19 capture-only · geo-default local → no trip · WRITE Participation.travel{needed:false} + accommodation
Save and continue
2 of 2

Anything different this time?

We'll use your usual unless you tell us otherwise.

From your profile

Applied

Vegetarian

Step-free route

Just for this board (optional)

This board's needs Durable prefs carry over (D16); deviate for this board only · WRITE Participation overrides
Tap ‘Confirm my spot’

You're registered

See you Thursday, Sep 18 at 6:00 pm. We've got your details — nothing more to do.

Next: your check-in pass

We'll send it the morning of the board — just show it at the door.

Registered Participation → registered · previews the day-of check-in pass
Continues in Day-of

When an assistant runs it

The SAME invitation flow (Step 1), forked on actor (D33): a KOL's assistant does the setup. Identical rail — only 3 frames diverge — so this shows just the divergences, not a re-draw. The actor ≠ the subject: the assistant works under their own name; consent is the one act that punches out to the KOL.

Brief §4 step 1 · D33. Delegation = a spine n:m join (n assistants per KOL, one assistant for n KOLs → principal switcher). Ops seeds the assistant at roster build (is_primary = invite recipient). Everything is delegable EXCEPT consent_record (enforces acted_by == person_id, PIPEDA/Law 25, D8/D29); accept is delegable (acted_by = assistant), the external honoraria contract stays the KOL’s. Spine: READ Delegation; WRITE Participation.acted_by + status pending_advisor_consent → registered when the KOL taps the punch-out consent link.

entry + 6 screens
Synapse

Text Message · Today 9:38 AM

Hi Dr. Okafor — you're invited to the Oncology Advisory Board (Sep 18, Toronto). Claim your spot: syn.to/aB9x2k

Text Message
Entry · the invite Same tokenized invite — ops routed it to the assistant (D33, is_primary recipient). The KOL never has to touch setup.
Open the app
Synapse with Oncova

Assistant access

Set up Dr. Okafor's board

You're helping with the Oncology Advisory Board. Fill the profile and RSVP on their behalf — every change is logged under your name.

One step is Dr. Okafor's alone — giving consent. We'll send them a single tap for it; you handle everything else.

Signed in as Maria Alvarez

Acting for Dr. Okafor DIVERGES 1/3 · delegate gateway · signs into their OWN passwordless seat (never shared creds) · persistent ‘Acting for ▸’ switcher (n:m, D33) · boundary set: all delegable but consent
Fill profile + RSVP (acted_by = assistant)

One tap is Dr. Okafor's

Consent is the one thing only the advisor can give — so we've sent it straight to them.

Consent link sent

To Dr. Okafor · s.okafor@•••.ca · one tap, expires in 7 days

Nothing's blocked — keep filling the profile and RSVP. The board confirms the moment Dr. Okafor taps; we'll let you both know.

Consent is logged to Dr. Okafor — never to an assistant

Consent handoff DIVERGES 2/3 · swaps the self-flow’s Consent · consent is non-delegable (acted_by == person_id, D33) · punch-out → the KOL’s own channel · nothing blocked meanwhile

Your consent

How Synapse uses your details — in plain language. Withdraw any time.

  • Terms of use

    v3 · how Synapse works

    View
  • Privacy policy

    How we protect your data

    View

Pre-fill me across future boards

Optional

Lets us reuse what you enter so we never ask twice. Separate from the terms — withdraw anytime from your profile.

Consent is logged with a timestamp and policy version

KOL’s one tap On Dr. Okafor’s OWN device: the existing Consent screen, reached cold via magic link (no install needed for one tap). WRITE ConsentRecord (acted_by == person_id, D24/D33).
Punch-out: only the KOL can consent
Assistant keeps working →
Your invitation

Can you join?

Oncology Advisory Board

Thu, Sep 18 · 6:00 pm

Fairmont Royal York, Toronto

Hosted by Oncova Therapeutics

$1,500 honorarium

A facilitated roundtable with 6 advisors. Paid by cheque after the board.

I agree my participation and honorarium are shared with Oncova, as the IMC Code requires. Read the board's terms

The accept Same shared Board (D31/D32) — the assistant taps Accept · WRITE Participation.acted_by = assistant · the external honoraria contract stays the KOL’s (D6/D33)
Tap ‘Accept invitation’

Spot held

Everything's in for Thu, Sep 18. Dr. Okafor's board confirms the moment they tap the consent link.

Waiting on Dr. Okafor's consent

Sent to s.okafor@•••.ca · we'll notify you both when it lands.

Spot held · pending DIVERGES 3/3 · Registered in the waiting key · Participation = pending_advisor_consent — held, not done
…Dr. Okafor taps consent

You're registered

See you Thursday, Sep 18 at 6:00 pm. We've got your details — nothing more to do.

Next: your check-in pass

We'll send it the morning of the board — just show it at the door.

Registered Consent landed → Participation flips pending_advisor_consent → registered. Converges with the self-flow’s end.
Continues in Day-of

Profile

The new-advisor setup step inside Your invitation — credentials, dietary, accessibility, travel, payee — landing on the durable profile surface every later board pre-fills from.

Brief §4 step 2 · D16 durable-vs-per-event, D17 cheque (payee + address, no banking/SIN), D18 self-attested, D23 person_identifier. Consent layered (D29): cross-engagement reuse = separate express opt-in at Claim; payee (financial) = express just-in-time here; all withdrawable from the surface. Reached from Your invitation (new advisor, first board); returning members already have it → then hands back to the board to accept (D32). Spine: READ/WRITE PersonRecord.profile (jsonb) + payee + mailing address; WRITE person_identifier {college_reg | minc}.

entry + 5 screens
Synapse AO

Good afternoon,
Dr. Okafor

Finish your profile

Set your details once — so we never ask twice.

1 of 4

Upcoming

Oncology Advisory Board Thu, Sep 18 · 6:00 pm
Home Reels Notifications AO
Entry · home Post-claim home · prompt to finish the profile (pre-filled from vetting)
Tap ‘Continue’ → first step
1 of 4

Your credentials

We filled in what we had on file — just confirm it's right.

Credentials Self-attested (D18) · WRITE person_identifier {college_reg | minc} + specialty
Save and continue
2 of 4

Comfort & access

Set once — we apply these to every board.

Dietary

Accessibility

We share only what staff need to host you well

Comfort & access Durable prefs (D16) · WRITE PersonRecord.profile
Save and continue
3 of 4

How you like to travel

Preferences only — we'll sort dates and book per board.

Usual way to travel

Seat

Travel preferences Durable only — dates are per-event (D19) · WRITE PersonRecord.profile
Save and continue
4 of 4

Where to send honoraria

Boards pay by cheque, so we only need a name and address — no banking details.

Payee Cheque → name + address, no banking (D17) · WRITE payee + mailing address
Save profile

Profile

AO

Dr. Amara Okafor

Medical Oncology

CPSO · 84219

Your details carry to every board — change anytime.

Your profile Lands on the durable SURFACE (not a dead-end) · random-access edit · flywheel: pre-fills every board
Back to your invitation → accept the board

Day-of

The event-day arc: a push → your check-in pass, staff-scanned at the door (boarding-pass model) → the in-room boardroom hub (agenda · people · materials) → a live poll → your receipt. The only flow with a realtime dependency.

Brief §4 step 4 · D5 personal QR staff-scanned (session QR = walk-in fallback only), D20 role-gated staff mode (the scan runs on a staff device, same app), D21 per-poll anonymity (default anonymous — an anonymous poll_response stores NO person_id, ⑤). Realtime channel = polls only. Spine: WRITE Participation.attendance{checked_in_at, checked_in_by, verified}, PollResponse, Expense (capture + status only) · READ Engagement{sessions, materials}, roster.

entry + 10 screens

Thursday, September 18

4:45

Synapse now

Tonight — Oncology Advisory Board

Doors at 5:30 pm. Your check-in pass is ready.

Entry · tonight Afternoon-of push (the channel D12's install bought) — de-branded lock screen. Tap → the app opens already on tonight's board.
Open the app
Synapse with Oncova

Tonight

Oncology Advisory Board

Doors 5:30 pm · starts 6:00 pm

Fairmont Royal York · Ballroom B

First up

6:00 Welcome & disclosures

6:15 Where first-line is heading — discussion

7:30 Working dinner

Check-in takes a second

Show your pass at the door — our team scans it and you're in.

Tonight's board Day-of home, one job: the door. READ Engagement{venue, doors, agenda} · co-brand slot (D10)
Tap ‘Show your pass’
Check-in
AO

Dr. Amara Okafor

Oncology Advisory Board

Thu, Sep 18

Works without signal — just hold it up at the door.

Your pass Personal QR, boarding-pass model (D5) — identifies YOU, not a seat; session QR survives only as the walk-in fallback. No write here — the scan does it.
Staff mode

Check-in · 6 of 7

AO

Dr. Amara Okafor

Registered · Medical Oncology

Checked in at 5:42 pm · verified by Maya Chen

Staff mode · scan Role-gated staff mode in the SAME app (D20, operate-on-mobile) · scan → WRITE Participation.attendance{checked_in_at, checked_in_by, verified} — the IMC-evidencing artifact (§7). Reused later by the Staff flow.
On the staff device — the scan
You just hold up your phone →

You're checked in

Welcome, Dr. Okafor. Ballroom B — your name card's on the table.

First up at 6:00 pm

Welcome & disclosures — the agenda and materials are ready when you are.

Checked in The staff write lands back on the advisor's phone — verified, nothing asked of her. READ Participation.attendance{verified}
Open the boardroom

Oncology Advisory Board

Boardroom

Live
6:00

Welcome & disclosures

Dr. Priya Singh, moderator

6:15

Where first-line is heading — discussion

All advisors

Now
7:30

Working dinner

Menu follows your preferences

8:00

Unmet needs & sequencing — discussion

All advisors

9:00

Wrap-up & next steps

Dr. Priya Singh

Boardroom · agenda The in-room hub — random-access tabs, not a wizard. READ engagement_session (stubbed entity, D27 — its detail gets decided by this build)
Tab · People

Oncology Advisory Board

Boardroom

Live
PS Dr. Priya Singh Hematology · Vancouver Moderator
AO Dr. Amara Okafor Medical Oncology · Toronto You
JT Dr. Jean-Marc Tremblay Medical Oncology · Montréal
HL Dr. Hannah Liu GU Oncology · Calgary
DA Dr. David Adeyemi Medical Oncology · Halifax

2 more advisors · Maya Chen (Synapse) is your contact tonight

Boardroom · people READ roster (Participation) — the table + your Synapse contact (the concierge has a face)
Tab · Materials

Oncology Advisory Board

Boardroom

Live
Discussion guide PDF · 12 pages · pre-read
Tonight’s agenda PDF · 1 page
Slide deck Shared after the board

Materials are for registered advisors only.

Boardroom · materials READ material (access: registered_only) — gated by structure, stated plainly
A poll opens — realtime
Live poll Anonymous

Question 2 of 5

In your practice, what most limits first-line uptake?

Anonymous — your answer isn't attached to your name.

Live poll · answer The flow's ONE realtime dependency (brief §4). Anonymity mode disclosed BEFORE answering (D21, default anonymous)
Tap ‘Send my answer’
Live poll Anonymous

Question 2 of 5

In your practice, what most limits first-line uptake?

Access & coverage

40%

Monitoring burden · your answer

40%

Patient preference

0%

Sequencing uncertainty

20%

5 of 6 answered — updating live.

Live poll · results Kahoot-style live bars. Anonymous ⇒ poll_response stores NO person_id — the absent FK is the guarantee (⑤). WRITE PollResponse
After the board — snap the receipt
Expenses

Oncology Advisory Board

Add an expense

Captured

Category

Reimbursed by cheque with your honorarium — we'll show its status here.

Add an expense Capture + status only (review = ops). WRITE Expense{image, amount_cents, category, status} · acted_by-aware (D33) · cheque, said plainly (D17)
Continues in Post-event

Post-event

Honoraria status (cheque) and expense-reimbursement status — the flywheel.

Brief §4 step 5. Honoraria (cheque) + expense status; history appends → next event pre-fills (the flywheel).

Designed in a follow-up — one flow at a time.

Staff mode

Role-gated in-room ops — scan a personal QR to verify attendance (boarding-pass model).

Brief §4 · D20 author-on-web / operate-on-mobile. Staff scans a personal QR → verified attendance record.

Designed in a follow-up — one flow at a time.