Product
Design Decisions
Architectural rules and design decisions for the mobile app. Gate system, verification levels, vote state behavior by user type, share system, VOTD overlay lifecycle, and signup flow navigation.
Key sections
- Centralized gate system
- Verification levels & mutual exclusivity
- Voted-state card behavior matrix
- VOTD overlay lifecycle (one-shot, pinned per day)
- Share system (single-select, poster variants)
- Signup flow navigation (X vs chevron)
- Profile preview isolation
Platform Insights
Feed module structure, statistical significance model, insight series taxonomy, data publishing rules by stage, and open strategic questions for investors and civic partners.
Contents
- 3-Tier Feed Structure (32 modules)
- Module Header / Evidence / CTA Pattern
- TopicTopVoteCard spec
- Data uniqueness argument
- Statistical significance model
- What to publish at each stage
- Three insight types
- Three launch insights
- Insights Breaker series spec
- Open questions for investors
- Prompts for future sessions
Terminology & Voice Guide
Canonical word choices, naming conventions, and prompt copy strings across all surfaces. The authority on what to call things — authentication vs. verification, profile vs. account, and exact CTA strings per screen.
Contents
- Authentication vs. Verification
- Account vs. Profile vs. Registration
- Set up vs. Complete vs. Finish
- Votes — counting language by state
- Residency vs. Address vs. Voter registration
- Verification badge labels
- Prompt copy — canonical strings
Source & Research Attachments
Specification for how source material is attached to a vote item — tiers (link, link preview, file, carousel), data model, community research contributions, domain trust signals and blacklisting.
Contents
- Attachment tiers (1–4)
- Data model (VoteSource type)
- Propose a Vote integration
- Display contexts
- Community research contributions
- Submission UX — inline flow
- Domain trust & blacklisting
Add Research Rules
Rules and UX spec for the community research contribution flow — link preview with OG fallback chain, file upload, pending state, and domain validation.
Signals
Trust and quality signal system for the admin — editorial signals on proposals, anomaly signals on users and voting patterns, user trust score model, signal flow end-to-end, and editorial workflow/assignment model.
Contents
- Editorial signals (proposals + scraped items)
- Anomaly signals (vote-level + user-level)
- User trust score model
- Signal flow end-to-end
- Workflow & assignment model
- My Queue
- Open questions
Data
Database Schema Reference
Supabase schema for both prototype and live environments — tables, RLS policies, key design decisions, voter verification state machine, feature access by verification level, and profiles field reference.
Contents
- Tables at a glance
- Key design decisions
- Status flows (votes, proposals, flags)
- RLS summary
- Voter verification ladder
- Feature access by verification level
- Guest prompt sequence
- Profiles field reference
Admin
Admin Tool
Editorial dashboard reference — role model across three growth phases, environment isolation, queue structure and item states, editor actions, and all outstanding decisions from the build sessions.
Contents
- Role model — three phases
- Environments (prototype vs live)
- Queue structure
- Editor actions
- Open questions (auth, signals, votes, citizens, deployment)
- Next steps — backend wiring
Vote Sourcing Workflow
End-to-end pipeline for how votes get from real-world government agendas into the platform — two-pass automated sourcing, editorial review queue, jurisdiction-scoped review tiers, source trust management (whitelist/greylist/blacklist), and admin tooling requirements.
Contents
- Two-pass sourcing model (source + verify)
- Pilot vs. scale runtime
- Jurisdiction review tiers & flexible assignments
- Editorial review workflow (approve / reject / hold)
- Queue recalibration logic
- Source trust management & discovery balance
- Editor tools (better source, whitelist, blacklist, manual add)
- Engagement scoring rubric & calibration loop
- Sourcing targets & vote mix by tier
- Schema additions (4 new tables + columns)
- Admin UI changes (7 areas)
- Pilot setup checklist
- Source feed configuration for Sacramento
Engineering
Infrastructure & External Services
Canonical record of all domains, external accounts, Supabase projects, iOS bundle IDs, edge functions, and key infrastructure decisions with dates and rationale.
Contents
- Domains (votd.io primary, votd.app secondary · Porkbun)
- Supabase projects (Proto + SAC Pilot)
- Edge functions (invite link redirect)
- iOS bundle IDs
- Share link architecture (planned)
- Key infrastructure decisions table
Gate Audit
Comprehensive audit of the centralized gate system — every entry point, gate type, return-to behavior, and pending action replay. Covers VOTD overlay, vote-item, votes tab, profile, and feed.
Ship Checklist
Exact commands to run before every TestFlight archive. Covers normal builds, icon updates, and native dependency changes.
Contents
- Three commands before every archive
- What each command does
- When icons have changed
- When native deps have changed
- Quick reference table
Crash Log Guide
How to retrieve and read crash logs from a physical device — Xcode Console method, pulling .ips files, reading crash output, and a table of common crashes and their fixes.
Contents
- Fastest method — Xcode Console
- Pulling crash reports off device
- Reading a crash file
- Common crashes and fixes
- What does not work
Build Issues
Open iOS build bugs and session notes. Note: this file is scheduled for consolidation — the session diary content will be trimmed, leaving only the two open bugs.
Open bugs
- SDK mismatch in package-lock.json
- Duplicate React (v19.1 + v19.2)
Milestone Builds
Log of significant build milestones with what shipped in each. Tracks the progression from early prototypes through the centralized gate system and share panel redesign.
QA & Planning
QA Punchlist
Rolling QA checklist. New build sections prepended at the top. Covers all changes since Build 24, with carry-forward items tracked across builds.
Recent builds
- Build 103–104 (Apr 3–4) — profile isolation, vote state sync, share panel, gates
- Build 102 (Apr 3) — centralized gate system, share redesign
- Build 47 (Mar 27)
- Build 44–45 (Mar 26–27)
- Build 37–43 (Mar 26)
- Build 24–28 (Mar 23–25)
Backlog
Intentionally deferred features — parked with enough context to pick up quickly when the time comes. Not forgotten, just not current priority.
Current items
- Finish Watch App
- Test iMessage Sharing on Device
- Account Recovery — Support Flow
- Push notifications (pre-go-live)
Distribution
Invite Links
Unique per-tester TestFlight invite system. Cloudflare Worker proxies branded URLs to Supabase edge function, which validates tokens, tracks clicks, and redirects to TestFlight. Includes leak detection and response playbook.
Stack
- Cloudflare Worker: votd.io/invite/{token} + votd.io/dashboard
- Supabase edge functions: invite, create-invite, invite-digest
- Supabase table: invite_links (token, name, channel, click_count, revoked)
Quick Links
Design
Color Style Guide
Living reference for all color tokens — brand palette, warm neutral ramp, topic category colors, semantic tokens, Insights Breaker palette, and rogue hardcoded value tracker.
Sections
- Brand Palette Reference
- Warm Neutral Ramp (H22° aligned)
- Topic Category Colors (16 topics, H68°–290°)
- Semantic Colors
- Insights Breaker — Violet Tints
- Rogue Hardcoded Values Tracker (33 done / 13 open)
Comp Library
All design explorations in one file with sidebar navigation. Covers Design System, Vote Card, Feed Screen, Splash, Topic Palette, Share Poster, Share Panel, Share Personas, and Share All Comps.
Sections
- Design System — breaker cards, card rationale, chart styles, guest prompt
- Vote Card — layout variants, tally bar, countdown treatments
- Feed Screen — card sequence, section headers, hero slots
- Splash — star position comp
- Topic Palette — 16 topic colors
- Share · Poster — Tier 0 OG, 1200×1200, "Build a Healthy Civic Habit"
- Share · Panel — Redesign v2, verified states
- Share · Personas — 3 tiers × 3 outputs, tally visibility rules
- Share · All — combined share system tabbed view
Design System Proposal
Early visual spec for the full component and layout system — card shells, typography scale, spacing, color usage, and interaction patterns. Source of truth for feed rebuild work.
Skills
Claude Skills
Reusable instruction sets that Claude loads before working on specific areas. Feed skill is mandatory before any feed engine work.
votd-feed
Mandatory before any feed engine, slot sequence, or card work. Loads 4 reference files.
commit
Commit sequence and message conventions for this repo.
crash
Crash diagnosis workflow for TestFlight and physical device builds.
ship
Pre-archive and TestFlight distribution sequence.
Session Wrap Skill
End-of-session checklist — commits and pushes all work, updates the QA punchlist, scans the conversation for undocumented decisions (domains, services, architecture calls, terminology), verifies infrastructure.md is current, and commits any doc updates. Prevents decisions from living only in the chat transcript.
Steps
- Commit and push all pending work
- Update qa-punchlist.md
- Scan for undocumented decisions
- Verify infrastructure.md is current
- Final commit and confirm to user