All modules

Self-Serve Store Onboarding

A store owner spins up their league with zero help

Coming Soon

A public onboarding page where a store owner enters their name and contact, picks a slug, sets an admin password, and uploads a logo — then lands directly in their own admin console. No Dwight in the loop. This is the single feature that turns a booth tool into a self-serve retail product that can scale past the number of stores we can hand-hold.

The Problem

Today, standing up a new store's league is a manual, Dwight-in-the-loop step. That's fine for the first handful of shops, but it is a hard ceiling: the platform can only grow as fast as we can personally provision stores, which is exactly the bottleneck Organized Play is supposed to remove.

For a store owner, the current path is also opaque — they can't just discover the product, sign up, and start running events tonight. Every serious retail platform lets a shop self-provision in minutes; anything slower and the store never bothers.

The engine underneath is already multi-tenant. What's missing is the front door: a no-touch signup that creates the tenant, sets the credential, and drops the owner straight into their console.

The No-Touch Front Door

Everything a store needs to go live, without us.

Public signup form

Store name, contact, desired slug, admin password, and logo upload on one public page — the whole identity of a new league captured in a single step.

Instant provisioning

On submit, the tenant is created, the credential is set, and the slug is claimed — all against the existing multi-tenant engine. No manual seeding, no waiting on us.

Straight into admin

The owner lands directly in their own /[slug]/admin console, ready to configure a tournament and go live the same night they signed up.

Build Phases

Not yet built. Here's the planned path from signup form to live tenant.

O1 Next Up

Signup + provisioning flow

  • Public onboarding page: store name, contact, slug, admin password, logo.
  • Server action creates the tenant, sets the credential, and claims the slug atomically.
  • Redirect straight into the new store's admin console.
O2 Later

Guardrails

  • Slug collision + reserved-word validation with live availability check.
  • Email confirmation / basic anti-abuse so squatters can't hoard slugs.
  • Logo upload constraints (size, format) and a sensible default brand.
O3 Later

Owner lifecycle

  • Password reset / recovery for store owners without contacting us.
  • Lightweight owner dashboard: edit branding, rotate credential, archive a league.
  • Optional approval gate for sponsored-tier stores.

Status

Origin: Manual per-store provisioning is the growth ceiling. This is the feature that makes the platform genuinely self-serve.

Prereqs: None blocking — the multi-tenant engine and per-store auth are already live; this adds the public front door on top.

Status: Designed and on the roadmap, no production code yet. O1 (signup + provisioning) is the unlock; O2/O3 are guardrails and owner lifecycle.

Back to Product Vision

Internal strategy page. Keep this honest as the build changes.