UpcomingProposal for Avery Lin · Valid until May 26, 2026

Lumina SaaS Launch

You said

Held together with duct tape.

Here's the plan.

You said it plainly: the current architecture works, but it can't carry the next ten customers, let alone the next hundred. One Supabase project per customer, no self-serve auth, no Stripe billing, a workflow builder that's functional but not credible for a public launch. This proposal is the surgical fix — sequenced so Foundation lands first, the migration is de-risked before any production cutover, and the marketing site goes live in time for the conference.

The outcome

Where you'll be by end of June

By end of June 2026, Lumina Labs is a self-serve SaaS: prospects land on a real marketing site, pick a plan, sign up through Clerk, get billed by Stripe, land in their own tenant on shared Supabase with row-level security, and walk through an onboarding flow into a working workspace — all without you touching the keyboard.

Before → After

Where you are now

  • One Supabase project per customer — three design partners, doesn't scale to ten
  • No self-serve auth (no Clerk) and no Stripe billing wired for subscription
  • Dashboard, workflow builder, and runs-history pages functional but not launch-credible
  • No signup-to-onboarding path — every new customer is a manual setup
  • Eight weeks to the industry conference, with a hard public-launch deadline

Where you'll be

  • Single shared Supabase project with row-level security enforcing tenant isolation
  • Clerk auth + Stripe subscription billing live and tested end-to-end
  • Three core surfaces (dashboard, workflow builder, runs history) with a real design pass
  • Marketing site, pricing page, and signup-to-onboarding flow live on production
  • One design partner already migrated and verified before any other tenant moves
  • Documented rollback playbook on file — the migration is reversible at every step

The build

Three phases, load-bearing sequence

Phase 01

Foundation

Auth, Billing, Multi-Tenant Migration

$17,500On approval

Outcome

Lumina runs on a single shared Supabase project with row-level security, Clerk auth, and Stripe subscription billing — and one design partner is already migrated to prove the pattern works in production.

What we'll do

  • Spec the Supabase RLS pattern (policies per table, tenant context, test fixtures) and document it
  • Stand up staging environment and mirror one design-partner customer's data
  • Run staging cutover, validate every read/write path, prove rollback works
  • Wire Clerk auth (sign-up, sign-in, session, tenant claim on JWT)
  • Wire Stripe subscription billing (products, prices, webhook handlers, customer portal)
  • Migrate remaining two design partners to production RLS, one at a time
  • Deliver rollback playbook as a living doc in the repo

What you walk away with

Shared Supabase + RLS, liveClerk auth, liveStripe billing, liveThree design partners migratedRollback playbook, documented
Settle Phase 1 to kick off →$17,500 · invoiced on approval

Phase 02

Product Polish

Dashboard & Workflow Builder

$9,500At Phase 1 completion

Outcome

The three surfaces a new customer touches in their first week — dashboard, workflow builder, runs history — look and feel like a product someone would pay for, on the existing Next.js stack.

What we'll do

  • Design pass on dashboard (information architecture, empty states, key actions)
  • Rebuild workflow builder UI (node interactions, canvas, save/run flow)
  • Rebuild runs-history page (filtering, run detail, error states)
  • Shared component library cleanup so future surfaces inherit the new system
  • QA pass across the three surfaces with one design partner

What you walk away with

Polished dashboardPolished workflow builderPolished runs historyCleaner component library

Phase 03

Launch

Marketing Site & Onboarding Flow

$7,000At Phase 2 completion

Outcome

A prospect can land on lumina, read the pitch, pick a plan, sign up, get billed, and arrive in a working workspace — without anyone at Lumina lifting a finger. Live by the end-of-June conference.

What we'll do

  • Marketing site (home, product, pricing) — design + build on Next.js
  • Pricing page wired to Stripe Checkout via Phase 1's billing infrastructure
  • Signup-to-onboarding flow: account creation → tenant provisioning → first-workflow guided setup
  • Conference-week launch checklist (DNS, monitoring, on-call, comms)
  • Soft-launch dry run with one design partner before public-launch day

What you walk away with

Live marketing siteLive pricing pageSelf-serve onboarding flowConference-week launch readiness

Why this order

Sequence rationale

The order is load-bearing. Each phase depends on the last, and getting it wrong costs weeks you don't have.

Approximate 8-week timeline

~4 weeks
~2–3 weeks
~1–2 weeks

Phase 1 first

Every other phase depends on auth, billing, and tenant isolation existing. A polished dashboard on a single-tenant Supabase project is wasted work; a marketing site that drives signups into an architecture that can't accept them is a launch-day disaster.

Phase 2 before Phase 3

The marketing site sells the product, and the product is the dashboard + workflow builder. Driving traffic to a credible product surface beats driving traffic to a polished marketing site that lands people on a rough-edged builder.

Launch last

It's the smallest phase by effort but the highest stakes by visibility — and it's the one we want to compress, not stretch, against the conference deadline.

Investment

What it costs

Total investment

$34,000

Across three phases · Cash-flow tracks delivery

Phase 1 settles on approval
Phases 2 & 3 invoice at phase start
14-day bug-fix coverage per phase
PhaseAmountInvoice trigger
1. Foundation$17,500On approval
2. Product Polish$9,500At Phase 1 completion
3. Launch$7,000At Phase 2 completion

Included across all three phases

  • Direct work with Charles, peer-to-peer technical execution
  • All code in your repo, your accounts, your infrastructure — no lock-in
  • Documentation: RLS pattern, rollback playbook, component library notes, launch checklist
  • Async Slack channel + a weekly 30-min sync per phase
  • Bug-fix coverage for 14 days after each phase wraps

Our booking page shows 15-minute slots by default. Once we review your request, we'll extend the hold to the right length — it's part of how we keep our calendar honest.

From here

Next steps

Approve this proposal

Reply or settle Phase 1 to lock the kickoff slot against the June conference window.

Share the post-launch ops roadmap

So we can confirm what's in vs. out of scope for v1 launch (and park what becomes Phase 4).

Confirm the conference date

We'll back-plan the launch checklist from there and lock the soft-launch dry-run window.

Kickoff call within 3 business days of approval

Phase 1 staging environment work begins the same week.

Questions

Because a marketing site that drives signups into single-tenant Supabase is a launch-day outage waiting to happen. Foundation first protects the deadline — it doesn't compete with it. The 8-week plan is built around hitting end-of-June with the migration done, not despite it.
That's exactly what staging is for. The rollback playbook gets written before any production tenant moves, so the worst case is 'we stay on the current architecture for an extra week while we fix the issue' — not 'a design partner's data is in a weird state on Monday morning.' Risk is contained to staging by design.
The migration steps themselves can't compress — the staging dry-run + rollback documentation is the de-risk. What can flex is Phase 2's scope (we polish the two highest-leverage surfaces instead of all three) to buy Phase 3 more runway. We'll flag that trade-off in week 4 if the timeline shows pressure.
Parked, intentionally. Once you share the ops roadmap we'll know whether it's a follow-on engagement, a small add-on to Phase 3, or genuinely v2 work. Not pre-priced here — we'll scope it after launch when we have real production signal to work from.
You can. Each phase is invoiced at its own start, code lives in your repo, and Foundation is self-contained — auth, billing, and RLS are all live and usable on their own. Phases 2 and 3 are sequenced for the conference launch, but pausing after Phase 1 leaves you with a working multi-tenant platform, not a half-finished one.

The conference is 8 weeks out.

Settle Phase 1 to lock your kickoff slot. Every week matters against that deadline.

Our booking page shows 15-minute slots by default. Once we review your request, we'll extend the hold to the right length — it's part of how we keep our calendar honest.