DealDeck-3
Type: Software Status: In Progress (M1 + M2 + M3 complete; live on TestFlight) Deadline: Open-ended (App Store launch is the near-term milestone) Created: 2026-06-09
What is this?
Third iteration of DealDeck. New core loop, reoriented around news rather than gameplay as the primary surface. Details of the loop will emerge as we build.
Sibling to (not replacement of) the existing dealdeck (Expo v1) and dealdeck-native projects — runs as a parallel experiment informed by user learnings from the first two.
Motivation
User learnings from v1 / native iteration pointed away from gameplay-first framing. The thesis to test: a news-first surface is the right entry point for the elite VC / growth-equity audience, and the collection / portfolio mechanics work better as a downstream layer rather than the hook.
What does success look like?
Near-term: App Store launch.
Beyond that, success criteria intentionally TBD — let the new core loop crystallize before locking metrics.
Technical
- Stack: Expo SDK 56 / React Native 0.85 / React 19.2 / Expo Router 6 / TypeScript
- Repo:
~/projects/dealdeck-3/→ djt53/dealdeck-3 (private) - Deploy target: iOS App Store (EAS account:
dijit) - Intended users: Elite VC / growth-equity audience (same target as v1)
- Backend: Shared with v1 — Supabase project
euogsdojqtejmbzxdzyi(orgujqbacxhxubidtadmngo). Additive schema: readscard_catalog, writesuser_state.card_ids+card_saved_at. v1-only tables (arena, quiz, hotlist, pods) stay dormant. Logo.dev token inherited from v1.
Design language
Neobrutalist (per eliza.cool reference): cream bg, pure-black 3px borders, hard offset shadows (no blur), saturated primary-ish accents (red #ff6b6b, yellow #ffd93d, green #6bcf7f, blue #74b9ff), small sticker rotations on chip-style elements. Fonts: Space Grotesk + Space Mono. Single bright surface (no dark mode).
Palette + Neo primitives live at src/constants/theme.ts.
Relationship to prior iterations
dealdeck(v1): Expo/RN, gameplay-first card-collecting loop, in progressdealdeck-native: native iOS explorationdealdeck-3(this): Expo/RN, news-first reframing, parallel experiment
Treat all three as live until v3 either proves the news-first thesis or doesn’t.
Milestones
Detailed breakdown lives in tasks.md.
| # | Milestone | State |
|---|---|---|
| M1 | Foundations — scaffold, theme, primitives, tab shell, pack/deck/modal flows | ✅ Complete |
| M2 | Real data + persistence — Supabase, auth/OTP, user_state, logo.dev, B&W Skia logos, app icon | ✅ Complete |
| M3 | TestFlight prep — EAS Build, Apple Dev setup, bundle ID, ASC entry, first build live, welcome onboarding swipe + cold-start splash with shared-element brand morph | ✅ Complete |
| M3.5 | Polish + iteration on top of M3 — Pulse rewrite, search, curated packs, rumors woven into feed, tap stamp rollout, edge-to-edge, refresh, OTA pipeline, FeedSwipeableCard | ✅ Complete |
| M4 | Ingest rework — redesign v1 pipeline from first principles; endpoints stay, plumbing changes | Future |
| M5 | Heterogeneous feed — rumors + card_mentions landed in v3 Feed; investor chips + voting + companies extraction still ahead | In Progress |
| M6 | Curated packs (sector + location) — Tier 1 themes shipped; Tier 2/3 need taxonomy work | In Progress |
| M7 | Deal detail modal polish — widen data path, round + company facts blocks, share, source link, unsave | Future |
| M8 | Dark mode (post-TestFlight) — theme context + dynamic stylesheets across ~25 files | Future |
| M9 | Notifications — Phases 1-4 mostly done (permission flow, token capture, evolution trigger + queue + notify-round Edge Function + 30s pg_cron + deep linking + Profile settings row). Remaining: rumor digest worker, receipts cleanup, EXPO_ACCESS_TOKEN secret | In Progress |
| M10 | Intel pipeline (cloud) — X tweets → classified → proposed writes → human review → v1 + v3 feeds (rumors + mentions). Slice 1 + 1.5 + 2 done; Slice 3 (hardening) ahead | In Progress |
Core conceptual model
A card = a company at a point in time (e.g. Seed Raise of Foo). The Feed and the Deck are two views of the same card_catalog table — Feed is the temporal view (ORDER BY added_at DESC), Deck is the user’s saved subset. Future feed types (rumor, intel) will sit alongside cards as additional event types ABOUT a company — formalised via the companies table extraction in M5.