Skip to main content

Business model

Flat-rate, single-tier, month-to-month. No contracts, no setup fees, no per-station, no per-feature, no per-user, no per-transaction surcharge.

Drafted from planning · v0.1

Bike-shop vertical pricing

The Hub is priced per vertical; each vertical may differ. The bike-shop vertical's pricing:

$199 CAD / month per shop. That's it.

Includes everything in the bike-shop product list: unlimited staff accounts, unlimited inventory, unlimited service tickets, unlimited rentals, unlimited customers, unlimited transactions. The Cloudflare bill (Workers + D1 + R2 + cron) is comfortably under $5/mo per shop at expected volumes; the rest is margin + support + AI usage budget.

Card processor fees are passthrough: Stripe Terminal's Canadian rates (2.7% + $0.10 for tap-and-insert, 2.9% for keyed) bill directly to the shop's Stripe account, not the Hub. The Hub sees the transaction metadata; the money flows shop ↔ Stripe ↔ shop's bank.

What's NOT included

  • Card processor merchant onboarding (Stripe handles directly with the shop owner; ~2-week setup)
  • Hardware (terminal $250-400, receipt printer $200-300, cash drawer $80-150, scanner if needed $40-120)
  • Twilio SMS ($0.0075 USD per outbound SMS in Canada — billed at cost + small markup to the shop's monthly invoice, ~$10-30/month for most shops)
  • Custom integrations (QBO, third-party loyalty, accounting software — handled case-by-case)

Why flat rate, not tiered

Tiered pricing creates a sales conversation about which features the shop "qualifies" for. That conversation:

  1. Wastes the shop owner's time
  2. Tempts product-management into feature-gating decisions that hurt the product
  3. Anchors customers to "this product is a hassle to buy"

One number, one product. Quote it on the website, no demo required (unless they want one). Stripe Checkout link, monthly recurring, cancel anytime.

Tradespeople tier

Separate product, separate pricing. $29 CAD / month for individual tradespeople. See What is Kvick? for the relationship between products. Tradespeople do not appear in this bible's scope.

Unit economics (per bike-shop instance, per month)

Amount
Revenue$199
Cloudflare (Workers + D1 + R2 + cron)~$3
Anthropic Claude API (AI Support bubble at typical volume)~$8
Twilio (if used; passthrough most of the time)$0 (passthrough)
Stripe (passthrough; shop pays direct)$0 (passthrough)
Support cost (per-shop avg, after onboarding)~$15
Gross margin per shop~$173 (~87%)
Onboarding (one-time, amortized over 24 months)~$8/mo
Adjusted gross margin~$165 (~83%)

Onboarding is real work: AIM migration (4 rounds), hardware install, staff training, tax-rule verification with the shop's accountant. Currently ~16 person-hours per shop. Aim to drive that to ~6 hours by year 2 via the playbooks in this bible.

Why no annual discount?

Considered. Decided no:

  • Annual prepay hides churn signal
  • Month-to-month accountability keeps the product honest
  • The math (~$2,400/year/shop) is small enough that annual discounting doesn't move the customer's decision

Re-evaluate at year 3 when there are 50+ shops and churn-vs-prepay tradeoffs become measurable.

Refund and credit policy

  • Mid-month cancellation: pro-rated refund of unused days, via Stripe
  • Shop closes / sells: full data export (data ownership), final invoice billed for the partial month, no termination fee
  • Service interruption (Cloudflare outage, etc.): credit equal to the affected days, applied to next invoice. Beyond 4 hours/month combined, the credit is full month's $199.

See also