Head of Engineering · Confidential

LaunchPad — Engineering Handoff

For: Bryce · From: David Cambranes · Last updated June 11, 2026

Your single landing page for the codebase, the stack, what exists, what's planned, and what you own. Written peer-to-peer — no marketing. Read it once end-to-end, then keep it open while you set up.

// 01

Welcome + Context

LaunchPad is a creative marketplace app: clients book photographers, videographers, and editors. The signature feature is LaunchDeck — book up to 5 creatives as a team in one project flow.

Where we are

Company structure

The operating constraint that shapes everything: David is on this 3 days a week. Default to compressing decisions, and write so someone who wasn't in the room can understand what happened and why.

// 02

The Codebase

Two repos, both on David's machine under ~/Developer/:

RepoPathWhat it is
App~/Developer/launchpad-2026/The React Native / Expo app. TypeScript, Expo Router. The product.
OS / Mission Control~/Developer/launchpad-os/The operating layer — CLAUDE.md, subagents, decision log, the marketing site + founder portal.
// 03

The Tech Stack

Read from the actual package.json and app.json (June 11, 2026). Versions exact.

Framework / runtime

expo ~54.0.34 react-native 0.81.5 react 19.1.0 expo-router ~6.0.23 typescript ~5.9.2 newArchEnabled reactCompiler (experiment)

Key dependencies

Backend — Supabase

Build / distribution

Other services

// 04

Current State of the App

Built and working

Routes are Expo Router file-based under app/ (~59 .tsx files). Major surfaces:

Schema (Supabase tables)

profiles, services, portfolio_items, posts, post_likes, follows, collections, bookmarks, threads, messages, launch_decks, launch_deck_slots, reviews, project_highlights, project_highlight_collaborators, device_tokens, launchdeck_deliverables, featured_content, notifications. RLS on all. Storage buckets: avatars, portfolio, deliverables.

Flag

There is no dedicated bookings/payments table yet. The earnings + Stripe work in Build 5 will need one (or a clear decision to derive earnings from launch_decks + a new payments table). Raise this early — see Section 6.

Known bugs

Zero open bugs. The bug log (bugs/INDEX.md, mirrored on the portal) shows all 11 logged bugs (BUG-001 → BUG-011) as SHIPPED in runtime Build 5. New bugs logged via /log-bug.

What Build 5 (runtime) shipped

11 bug fixes (profile-creation keyboard/loop/back-nav, LaunchDeck team-chat + creative-side visibility, notification-bell prominence, public-profile preview + header carousel, edit-profile save glitch, portfolio back-nav, avatar fallback), the LaunchDeck v2 flow, the hybrid deliverable surface, Team Resources, Sentry re-add, and the Share CTA.

Beta + TestFlight status

Closed beta, ~30 active users, Providence RI. Distribution via TestFlight; invites managed through Supabase + welcome emails.

// 05

The Roadmap

Full detail lives in references/launchpad-roadmap.md (the living source of truth). Summary:

Build 5  · Revenue real     · June 2026   · Closed beta
Build 6  · Launch ready     · Sept 2026   · Public RI launch
Build 7  · Platform smart   · Q4 2026     · Algorithm live
Build 8  · Market expansion · Q1 2027     · Boston + Android
Build 9+ · Platform play    · 2027+       · Events, enterprise

Two-phase frame: Build to Launch (Builds 5–6) then Build to Scale (Builds 7+). The automated test suite is slotted as a Build 6 priority — raise it earlier if you think it should gate Build 5's payment code (a reasonable argument).

// 06

Build 5 Detailed Spec

Build 5 is the Revenue Build: make the platform financially real. Eight workstreams. Enough detail to estimate and start planning.

1. Stripe payment processing

2. Pro subscription

3. Client profile redesign

4. Algorithm bones (infrastructure only — no scoring logic)

5. Onboarding extension

6. Posting gamification

7. Simple invoice tool (creator-facing)

8. Earnings summary screen

Schema changes summary

New tables: engagement_events, invoices, a subscription table, and a bookings/payments table (or a decision to derive). New columns: profiles.style_preferences, profiles.post_count, posts.relevance_score, post style tags. Migrations 017+. Migration-application is currently manual — decide whether supabase db push becomes the ship gate.

New screens

Checkout/payment, paywall/subscription, earnings summary, invoice create + list, style-preference onboarding step.

Screens to modify

Client profile (broken empty state), onboarding (insert style step), home feed (order by relevance_score), profile (post-count badges).

Third-party services added

Stripe (new). Resend (already in use) gains receipt + invoice email templates.

// 07

How We Work

// 08

Immediate Next Steps

  1. Clone both reposlaunchpad-2026 (app) and launchpad-os (OS).
  2. Read CLAUDE.md (both repos) front to back.
  3. Read decisions/INDEX.md chronologically, then open any decision whose "why" you need.
  4. Read this document fully.
  5. Set up local dev:
    cd ~/Developer/launchpad-2026
    npm install
    # create .env.local from .env.example (David provides values via 1Password, not chat)
    npx expo start            # dev server
    eas env:list production    # pre-flight: confirm the 3 prod env vars exist
  6. Run the app locally in a dev client against the dev Supabase project.
  7. Review the Build 5 spec (Section 6) and sanity-check estimates + the bookings-table decision.
  8. Schedule a sync with David to align on Build 5 priorities and timeline.
// 09

What Bryce Owns