Quiet Morning Routine
JoyOS Lab - Marketplace
Every surface a member, creator, or admin will see when v1 ships - organized by when it goes live. Phase A + 00 in Week 1 wires the marketplace into Stripe from day one: admins can create products from the /app home card or the dedicated /app/marketplace section, and each Save mints a real Stripe Product + Price. Phase 01 Payments (Weeks 2-3, v1 launch) flips Checkout on against those already-minted Prices and adds the 3-kind fulfillment flow + 14-day refunds. Phase 02 Multi-creator (deferred post-launch) brings Stripe Connect so non-admin founding members can sell on their own Stripe accounts too.
Phase A + 00 Wired - Week 1
Members can browse listings and see the detail page. Admins (Kristin + Ethan) create products from a "Marketplace" card on the /app home dashboard OR from the dedicated /app/marketplace section - either path lands in the same composer, which mints real Stripe Products + Prices on Save. The Buy button shows "Checkout opens at launch" for now - Phase 01 Payments flips it live in Weeks 2-3 against the Stripe Prices already minted here.
Buyer
What a member browsing sees in Week 1
Surface 1 of 7 in Phase A
Entry point: any member browsing the marketplace. Listing grid with three kinds (digital, service, course), filter chips, and creator attribution.
Quiet Morning Routine
by Kristin Ekkens
$19
30-Minute Discovery Session
by Kristin Ekkens
$97
EPIC Workshop Recording
by Kristin Ekkens
$47
Joy Journal: 90-Day Companion
by Kristin Ekkens
$27
Surface 2 of 7 in Phase A
Single-listing detail: cover, what-you-get, creator card, refund disclosure. Buy button shows "Checkout opens at launch" placeholder; goes live when Phase 01 Payments deploys in Weeks 2-3.
by Kristin Ekkens - founding member
Phase 01 Payments deploys in Weeks 2-3 - Lab Stripe handles the sale
What you get
About the creator
Kristin Ekkens
Founder, Exponential Joy. Lab creator since launch.
14-day self-service refund window after purchase. After download or streaming use, your refund may be reviewed. Sales tax may apply.
Admin Seller (Kristin + Ethan only at v1)
What an admin sees when building their first listing in Week 1 - non-admin founding members are gated out until Phase 02 Multi-creator
Surface 3 of 6 in Phase A
Marketplace card on the existing /app home dashboard, sitting alongside Founding Member Hub. Shows listing count + Create CTA. Sales metric is placeholder ("Sales open Phase 01"). Single click jumps to /app/marketplace OR the composer directly. Admin-only - Kristin + Ethan see this; non-admin founding members never see the card.
Today's EPIC
Day 14 of Reset - keep going.
Founding Member Hub
Next mid-month call in 6 days.
Surface 4 of 6 in Phase A
Dedicated /app/marketplace admin section: glanceable tiles (Listings: N, Drafts: N, Sales: "Phase 01"), "New listing" CTA, and a preview of the listings table. Non-admin founding members are redirected (Phase 02 unlocks this view for them with their own Connect-account scope).
Listings live
3
in Stripe
Drafts
1
not yet synced
Sales
Checkout activates Phase 01
Your listings
Surface 5 of 6 in Phase A
Admin-only listing composer with all v1 fields (Kristin + Ethan). Save mints a real Stripe Product + Price via API - the listing is fully registered in Stripe from Phase A. The "Open for checkout" toggle stays disabled until Phase 01 Payments activates in Weeks 2-3. Non-admin founding members get this composer in Phase 02 Multi-creator alongside their Stripe Connect onboarding.
Kind of listing
Title
Description
Price (USD)
Currency
Cover image
Download file
✓ Will sync to Stripe on Save (product + price minted; archived if you delete)
Save mints a Stripe Product + Price immediately. The "Open for checkout" toggle activates Phase 01 Payments (Weeks 2-3).
Surface 6 of 6 in Phase A
Admin's own listings table view (Kristin + Ethan) - LIVE-in-Stripe status pill, edit/archive/share actions work end-to-end via Stripe API, NO sales data yet (Sales column shows "Checkout activates Phase 01"). The richer sales-summary version of this view ships in Phase 01 once checkout is live.
Quiet Morning Routine
Digital - $19 - saved May 14
Checkout activates Phase 01 - sales data shows then
Joy Journal: 90-Day Companion
Digital - $27 - saved Apr 20
Checkout activates Phase 01 - sales data shows then
Phase 01 Payments - Weeks 2-3 (v1 launch)
Checkout flips on. The Buy button creates a Stripe Checkout Session against the Price already minted in Phase A. All three fulfillment kinds work end-to-end on webhook receive: digital downloads via R2 + Resend, service bookings handed off to the creator's external scheduler, and courses granted through user_grants. The 14-day self-service refund flow goes live for digital + service purchases. Admins gain the purchase table, dispute detail, force-refund modal, always-on realtime alert feed, and the sales-summary version of their listings management view (the basic listings table already shipped in Phase A).
Buyer
Checkout, fulfillment, purchase history, and self-service refunds
Surface 7 of 19 cumulative
Short transition surface proving the handoff moment between Lab and hosted Stripe Checkout. One-screen, no nav, soft and calm.
We're handing your payment to Stripe, which has handled this for the Lab since launch. You'll be right back when it's done.
PCI compliant - secured by stripe
Surface 8 of 19 cumulative
Confirmation after a digital purchase - immediate download delivery, email fallback, and the 14-day refund disclosure.
Quiet Morning Routine - $19 - Order #JL2046
Download (signed link, valid 24h)
quiet-morning-routine.zip
We also sent the download link to your email. The link works again from your purchase history any time.
You have 14 days to request a refund from your purchase history. After the first download, refunds are reviewed case-by-case by the creator. Stripe will email your payment receipt separately.
Surface 9 of 19 cumulative
Confirmation after a service purchase - proves hand-off to the creator's external scheduler plus the 48-hour creator-reaches-out promise.
30-Minute Discovery Session with Kristin - $97 - Order #JL2047
Next step: book your time
kristin-exi.calendar
Kristin will reach out within 48 hours if you haven't picked a time. The link is in your email and in your purchase history.
14-day refund window applies if no session has taken place. After your first session, refunds are at the creator's discretion.
Surface 10 of 19 cumulative
Confirmation after a course purchase - proves access-grant handoff into the Lab course module and the no-expiration promise.
Lifetime access - $47 - Order #JL2048
Your course is unlocked in the Lab
/app/courses/epic-workshop
No expiration. Pick it up any time from your Lab dashboard. Kristin will get a notification that you've joined.
Course access is not self-service refundable after it's granted - if something's wrong, message Lab support and we'll review with the creator.
Surface 11 of 19 cumulative
Private purchase history with per-row actions specific to each listing kind. Proves the 14-day refund window UI affordance.
Only you can see this list. 3 purchases.
Quiet Morning Routine
Digital - May 28, 2026 - $19
30-Min Discovery - Kristin Ekkens
Service - May 22, 2026 - $97
EPIC Workshop Recording
Course - May 10, 2026 - $47
Surface 12 of 19 cumulative
Refund modal with structured reason capture inside the 14-day self-service window.
3 purchases.
Quiet Morning Routine
Digital - May 28, 2026 - $19
Refund request
You're inside the 14-day window. Tell us what happened - the creator gets your note.
Reason
Anything to add (optional)
Admin Seller (still Kristin + Ethan only at v1 launch)
Live listing management, earnings, and sale notifications - non-admin founding members get these same surfaces when Phase 02 Multi-creator deploys post-launch
Surface 11 of 19 cumulative
The same listings management view that shipped in Phase A, now populated with real sales data (checkout is live). LIVE-in-Stripe status, edit/archive/share actions, and a per-month sales strip. Non-admin founding members get this same view in Phase 02 Multi-creator.
Quiet Morning Routine
Digital - $19 - listed May 14
23
Sales
$392
Earned
1
Refunds
Joy Journal: 90-Day Companion
Digital - $27 - listed Apr 20
11
Sales
$267
Earned
0
Refunds
Surface 13 of 19 cumulative
The "this month" earnings tile on the admin seller's home dashboard (Kristin/Ethan) - glanceable, points to Lab Stripe for the deep cut. Non-admin founding members get this tile in Phase 02 Multi-creator pointing at their own Connect account.
Today's EPIC
Day 14 of Reset - keep going.
Marketplace - May
$659
+$94 vs. April
Joy Profile
Updated 3 days ago.
Surface 14 of 19 cumulative
Bell dropdown showing a freshly arrived sale notification to the admin seller (Kristin/Ethan) with "they'll be expecting their download" framing. Proves the in-Lab notification surface. Non-admin founding members get the same notification stream in Phase 02 Multi-creator.
Today's EPIC
Day 14 of Reset.
You made a sale. Aisha Brooks just bought Quiet Morning Routine for $19. They'll be expecting their download - want to send a thanks note?
2 min agoYour weekly payout of $593.20 was sent to your bank.
2 days agoListing approved - Joy Journal: 90-Day Companion is live now.
Apr 20Admin
Dashboard tiles with real metrics, full purchase table, disputes, and live alert feed
Surface 15 of 19 cumulative
Marketplace section of the Lab admin dashboard - four glanceable tiles with real sales data (possible only once checkout is live).
Marketplace - May
In review
3
Oldest: 6 hours
Active listings
42
9 creators
Sales this month
$4,118
94 orders
Open disputes
1
Evidence in 4d
Recent activity
17 sales today. 2 listings submitted for review. 1 refund processed.
Surface 16 of 19 cumulative
All purchases across creators with status filters and per-row force-refund affordance. Admin can see and intervene on any transaction.
Surface 17 of 19 cumulative
Single Stripe-originated dispute view with timeline, evidence deadline, and handoff to Stripe Dashboard.
Evidence due in 4 days
Stripe needs evidence by June 3, 2026 - 11:59 PM UTC. Default outcome if we miss: full chargeback to the buyer plus $15 fee.
Order details
Timeline
Today, 10:11
Dispute opened by buyer's bank.
May 26, 14:08
Buyer downloaded joy-journal-90day.pdf (14 MB).
May 26, 14:05
Payment confirmed. Fulfillment email sent.
Surface 18 of 19 cumulative
Force-refund modal with explicit reversal-of-platform-fee warning. Proves the destructive lever and its guardrails.
Admin override
This bypasses the creator and pushes a full refund through Stripe now. Use when the buyer needs help and self-service won't reach.
Heads up - what this does
Buyer is refunded the full $47. The 10% Lab fee ($4.70) is reversed. Kristin's payout for this sale is clawed back. Kristin will be notified with your reason.
Reason (required, shown to creator)
Surface 19 of 19 cumulative
Right-rail alert feed surfacing webhook + sync + dispute events with dismissible affordances. Proves the always-on observability layer.
$19 sale - Quiet Morning Routine - to Aisha Brooks
stripe.checkout.completed - 12s agoFulfillment email delivered to aisha@...
resend.email.delivered - 45s agoWeekly payout of $593.20 sent to Kristin Ekkens
stripe.payout.paid - 4m agoDispute opened on JL2044 by Maya Chen - evidence due in 4d.
stripe.charge.disputed - 14m ago$97 sale - 30-Min Discovery Session - to Tom Reyes
stripe.checkout.completed - 22m agoListing approved - Reset Ritual Meditation Pack is live now.
marketplace.listing.approved - 36m agoPhase 02 Multi-creator - Deferred post-launch
Stripe Connect Express onboarding goes live for non-admin founding members so they can sell on their own Stripe account, with the Lab keeping a platform fee through application_fee_amount. Admins gain the moderation queue UI for pending listings and the soft-rejection flow. This phase ships when there's pull from creators - until then, admins are the only sellers and the existing schema columns sit forward-compatible.
Creator
Stripe Connect onboarding, publish unlock, and pending review
Surface 20 of 26 cumulative (deferred)
Modal intercepting the first publish click - Stripe Connect Express handoff with the "we never see your bank info" reassurance.
Title
Last step before publish
The Lab uses Stripe to pay you. Stripe asks for your bank and tax info directly - we never see it. About 4 minutes.
What happens next
We hand you to Stripe's secure flow. When you're done, you come right back here to publish. You can pause and resume any time.
Surface 21 of 26 cumulative (deferred)
Return page after Stripe Connect onboarding - confirms payouts are active and points to Stripe dashboard for history.
You can publish listings now.
Your payout setup
Your payout history, statements, and tax forms live on your Stripe dashboard. We pass you straight through any time you need it.
Surface 22 of 26 cumulative (deferred)
Composer with all fields filled and Publish newly enabled. Payouts-active pill, real R2 image upload (not paste-URL), submit for review CTA.
Kind of listing
Title
Description
Price (USD)
You earn
Lab fee 10% - $1.90 per sale
Cover image
Download file
Kristin usually approves within a day
Surface 23 of 26 cumulative (deferred)
Post-publish pending state with inline preview of what the admin will see - proves the soft-moderation flow.
In review - usually within 24 hours
Kristin's checking that everything's a fit for the Lab. You'll get a notification the moment it goes live, or a note from her if she wants you to tweak something.
What the admin will see
Quiet Morning Routine
Digital - $19
by you (Kristin Ekkens)
A gentle audio guide for your first 20 minutes of the day, paired with a printable morning pages template. Lifetime download.
Admin
Moderation queue, rejection flow, and all-listings table go live
Surface 24 of 26 cumulative (deferred)
Pending-review queue - listings to read, preview, approve or hold without leaving the row. Proves the soft-moderation gate.
Approve, hold for revision, or reject. Creators get notified either way.
Quiet Morning Routine
Kristin Ekkens - Digital - $19 - 6h ago
Joy Space Companion
Kristin Ekkens - Digital - $15 - 4h ago
Stillness in Motion Workshop
Maya Chen - Course - $39 - 2h ago
Surface 25 of 26 cumulative (deferred)
Soft-rejection modal with a required reason note, framed as a revise-and-resubmit - not a door slam. Proves the warm tone of moderation.
Quiet Morning Routine
Kristin Ekkens - Digital - $19
Hold this one
The creator will see your note as a kind nudge - not a rejection. The listing stays in their drafts until they resubmit.
Your note to the creator
They'll see this verbatim, signed from Kristin.
Surface 26 of 26 cumulative (deferred)
All listings across every status with chip filters and per-row actions. Proves full inventory view and force-archive lever.
Tap any row for the listing detail + force-archive lever.