Why our /for-pros page verifies a license in under 60 seconds

By Jason, Founder · Published · 4 min read · Waves 181, 187, 203

Summary

AskBaily's contractor onboarding verifies a license against the issuing board in under 60 seconds, in six jurisdictions, with no human review in the loop. Angi and Thumbtack take days because their model depends on a large supply of unverified profiles. Ours depends on the opposite.

Article body

I keep getting asked why we bothered. The pitch I hear back from other marketplace founders is some variant of: "Isn't verification a backend feature? Wouldn't contractors prefer to just submit their number and get listed?"

No. And the reason is a fact that most marketplace founders never internalize: your supply side pays attention to what you do on the way in. Friction on a form tells the next three contractors in your funnel how you will treat them in month six. If /for-pros rejects a lapsed license in 40 seconds with a clear reason, the ones who pass feel pre-qualified, not interrogated. If /for-pros is a two-day email ping-pong, your supply side learns to expect two-day email ping-pong from you on payouts, disputes, and everything else. We have engineered the onboarding rail against a real number: from the moment a contractor hits "Verify License" on /for-pros to the moment the board's answer renders, target is under 60 seconds, median measured in the 8-22 second range across the six jurisdictions we support today.

The three-step wizard, and why the order matters

Wave 203 shipped the wizard in the final form: step one is license, step two is insurance and bonding, step three is availability and scope. Most competitor flows do those in the opposite order. They ask for trade, service area, and a stock biography first, because their conversion metric is "profile completed." Ours is "contractor pre-qualified for a real homeowner scope." We ask for the license first because 11 to 18 percent of applicants fail here, depending on state and month, and every downstream question is wasted effort for a failed license.

The license step is powered by the same registry described in the Wave 181 deep dive. Contractor types a number, picks the jurisdiction, clicks verify. The page calls our regulator rail, which calls the board, parses the response, normalizes it to the LicenseResult shape, and renders a card. If the board is slow, we show a progress bar with "Checking Oregon CCB…" for transparency. If the result is active, the contractor moves to step two. If the result is expired, suspended, or not-found, the page shows the board's own reason and a link back to the board's renewal flow. We do not store the fail and we do not quietly downrank; the contractor sees exactly what the board said.

Why Angi and Thumbtack cannot copy this

This is the part that used to feel like a strategic advantage and now feels like an economic inevitability. Angi, Thumbtack, HomeAdvisor, and Houzz all run a "large supply, many-per-lead" model. They sell an inbound homeowner request to between five and 12 contractors, and they charge the contractor per lead. The unit economics require a large contractor pool.

A large contractor pool, live-verified against state boards, does not exist. On any given month, between four and nine percent of licensed contractors in a given state have a flag — bond lapse, worker-comp lapse, clerical address mismatch, disciplinary hold, or pending renewal. For Angi to implement live verification, they would have to reject four to nine percent of their supply base every month, hit their earnings-per-lead math, and then explain the rejection volume to investors who rated the platform on supply growth. They will not do it. The accounting does not allow it.

AskBaily's unit economics are the inverse. We match one homeowner scope to one pre-qualified contractor. The contractor is not competing with six other bids and not paying a per-lead fee, so a smaller, cleaner supply is a feature, not a bug. If one quarter of applicants fail the license check, we remove 25 percent of supply and the remaining contractors convert at a materially higher rate on the closed-won fee we charge on their side. The arithmetic works because the matching is tight.

What "under 60 seconds" actually measured

I do not like vague speed claims, so here is the ledger. On the six-jurisdiction beta, median license-check latency by board, measured over the first four weeks of Wave 181:

  • California CSLB: 8.3 seconds median, 14.1 seconds p95
  • Oregon CCB: 10.7 seconds median, 18.2 seconds p95
  • Washington L&I: 11.8 seconds median, 22.4 seconds p95
  • NYC HIC: 14.2 seconds median, 31.6 seconds p95
  • Indiana PLA: 19.5 seconds median, 48.9 seconds p95
  • Quebec RBQ: 15.8 seconds median, 29.4 seconds p95

Two boards, Indiana and NYC HIC, have degraded-mode fallbacks because their uptime is materially below the others. When degraded mode engages, we do not claim "verified," we claim "cached from X minutes ago." The contractor sees the same banner the homeowner would see on the LicenseCard.

What this enables downstream

A pre-verified contractor pool enables things the large-supply marketplaces cannot. The Wave 196 LicenseCard embed — a live badge rendered inline on every LA spoke page — only works because the contractor's license is already in the registry and can be queried in 10 seconds, not one business day. The Wave 188 contractor-check tool, which lets homeowners paste a number and check it themselves, only exists as a consumer product because we built the rail to support contractors in the first place. The Wave 207 CC-BY-4.0 coverage dataset documents which boards are covered today and which are coverage-pending; we publish the honest answer so anyone else in the industry can audit our reach.

The 60-second number is not the feature. The feature is that every other interaction with an AskBaily contractor — payment terms, dispute handling, scope change — inherits the same standard the license step set on the way in. Friction on the easy question ensures trust on the hard ones.

Sources & references

Commit attestation

Tests green
597
Files changed
28
Waves
181, 187, 203
Author
jason

Commit SHAs are from the AskBaily private repository. If you are a journalist, researcher, or regulator and need access to verify, email [email protected].

Frequently asked

Is the 60-second target real or marketing?
Median is 8-22 seconds across five of six jurisdictions; Indiana's p95 is 48.9 seconds due to board-side latency. The ceiling is 60 seconds because that is when we surface a 'board slow, still checking' banner. No contractor sits longer.
What percentage of applicants fail the license step?
Between 11 and 18 percent, depending on state and month. We publish the aggregate fail-rate on our transparency page, not per-contractor.
Does rejection here go to a human queue?
No. The board's reason is shown to the contractor, and we link back to the board's renewal flow. We do not override or appeal regulator decisions.
← All postsRoadmapCommitmentsChat with Baily →