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​