BackBeat

Road to live beta

Everything that has to be true before this app is running inside a real agency, with a real contract and a real invoice behind it. Tick items off as they land. Your progress saves in this browser.

State measured 2026-09-04
Overall
0 hard blockers 0 next up 0 already done

Where it actually stands

Measured today, not remembered. Anything not on this list is not verified.

Verified 2026-09-04

App: on TestFlight, internal only, build 1.0.0 (3) from 2026-08-12. Latest OTA is today's streak fix, live on the production channel. 154 tests pass, typecheck clean, iOS bundle exports clean.

Backend: Supabase kvgmnwyigunhifrmlxnq. 1 department (Folsom PD, code FOLSOMPD), 6 members, 3 check-ins, 0 rough calls, 0 linked commanders, 1 unclaimed invite. Effectively empty. Folsom's crisis config still holds two placeholder 555 numbers, live in the app right now.

Web: trustbackbeat.com is up. backbeat-commander.pages.dev is up. commander.trustbackbeat.com does not resolve.

Legal and commercial: nothing signed, nothing drafted, no entity, no insurance, no pricing. This is the part with the longest lead time and the least work done.

Pricing, and how you get paid

You floated $20 per seat per month. I think the per-seat instinct is right on economics and wrong on mechanics. Here is the case and what I would actually charge.

What the market really pays

NYPD pays $200,000 a year for the Cordico wellness app, citywide, one year with four renewal options. NYPD runs roughly 33,000 uniformed plus around 19,000 civilian staff. That is somewhere near $4 per person per year from the category leader at the top of the market.

Small agencies pay far more per head than that, and Lexipol does not publish rates, so treat $4 as the volume floor and not the going rate. But it tells you the shape of the market: these are priced as agency-wide contracts, not per seat. The Minneapolis contract covers unlimited use by all department personnel plus spouses and significant others. Nobody in this category is counting seats.

Second thing worth knowing: in several states the app arrives free to the department, bought in bulk by an insurance risk pool or a state agency. Colorado's CIRSA, California's Municipal Pooling Authority and the Nebraska Crime Commission all put Cordico in front of member agencies. If Folsom already has it that way, price is not the fight you are in, and one pool sale equals dozens of agencies.

Why per seat is the wrong mechanic here

It breaks the product promise. Buy 100 seats for 130 people and somebody now has to decide who gets one. The person who never got a seat is exactly the person you built this for.

It forces you to count people, and counting people is the one thing you promised not to do. Seat-based billing means the department needs an activated-user number tied to their roster. Your entire wedge is that the department cannot see who is using it.

It prices you out of the easy yes. At $20 a seat a 130-person department is $31,200 a year. Most California cities need council approval above roughly $25,000 to $50,000, so you just turned a chief's signature into a public agenda item, a procurement process and a nine-month sales cycle. For a first beta that is fatal.

It kills the family angle for free. Spouses are in the category standard. You cannot charge per seat and also say "and your spouse, no charge."

What I would charge instead

Same per-seat economics, counted once at signing instead of continuously. One flat annual number per agency, banded by headcount, everyone in the department covered, spouses included.

BandPersonnelPer yearWorks out to
AUp to 50$6,000$120 per person
B51 to 150$12,000$80 to $235 per person
C151 to 400$24,000$60 to $159 per person
D401 to 1,000$45,000$45 to $112 per person
EOver 1,000QuoteVolume deal
Folsom lands in Band B. Public info puts them near 75 officers and 26 professional staff, so call it 100 to 130 people. That is $12,000 a year, which is a chief's signature in most cities rather than a council vote. Verify the real headcount with Shea's contact before you quote it.
Beta pricing is a separate question. Charge the first agency little or nothing and trade the discount for something you actually need: a written reference, a logo you can use, a quote from the chief, and permission to publish anonymized outcome numbers. Put that in the agreement, do not assume it. A free pilot with no exit price is how you end up giving it away for three years.

How the money and the access code actually work

The app stays free on the App Store. The department pays you directly, on an invoice, outside Apple entirely. That is explicitly allowed: App Store Review Guideline 3.1.3(c), Enterprise Services, says if your app is sold directly to organizations for their employees you may use payment methods other than in-app purchase. No 30% cut. The trap is the other half of that rule: the moment you sell to an individual officer directly, that sale has to go through in-app purchase. So do not add a personal plan without redesigning billing first.

The join code is for routing, not billing. It already exists and it works: the member types FOLSOMPD, and from then on they see Folsom's peer support numbers and count toward Folsom's anonymous readiness average. Billing is the contract, not the code. You invoice the department annually or quarterly through Zoho regardless of how many people typed the code, which is the whole point of banded pricing.

The code has real gaps to close before you sell it. Today it never expires, never rotates, and anyone who learns it can join. For an anonymous product the blast radius is small, a fake join only dilutes an aggregate, but you still need rotation, an optional expiry, and an alert when joins spike. Email-domain verification is the stronger version and can wait until after the beta.