The cheapest quote is rarely the cheapest job.

Bidzy emails contractors for you, reads whatever comes back, and works out the real cost.

$ bidzy-roofing-8egxzd@agentmail.to
The Bidzy price comparison board

Five companies asked. Four replied. One of them looks cheap and isn't.

$4,900

of work the cheapest quote left out, priced from what the others charged for it

2

follow-up emails before Bidzy tells you to just call them yourself

9 days

from the first email to a price you can actually trust — done automatically

0

accounts a contractor has to create to be part of this

What it does

Three things you would otherwise do yourself, badly, at midnight.

01 — the chase

It keeps asking

Most contractors never reply. Bidzy follows up on day three, again on day seven, then stops and tells you the company needs a phone call. It does this every morning whether or not you have opened the app.

02 — the reading

It reads anything they send

A tidy PDF, a scanned page, or “call it fourteen two all in, you sort the skip.” All three come out as the same thing: a total, what is included, and what is not.

03 — the memory

It knows which prices no longer count

Change the material and only the quotes that were based on it stop counting. Anyone who already priced the new one survives, the ranking updates, and the rest get emailed to ask whether their number still holds.

The arithmetic

The cheapest quote here was actually the most expensive job.

Every exclusion is priced using what the other contractors charged for that same work. These aren't guesses. They're based on what the other companies actually charged for the same work.

They quoted $11,900

The number in the email. The one you would have picked.

+
Work left out $4,900

Removal and disposal, delivery, skip hire, sales tax. You'd have to pay for these separately.

=
Real cost $16,800

The most expensive quote on the board, and the one that looked cheapest.

How it works

You ask once. It works the job for as long as it takes.

  1. 01

    Describe the job once

    Roof replacement at 42 Marlow Street, asphalt shingle, full tear-off. Bidzy gives it a real email address of its own.

  2. 02

    It emails the companies and keeps asking

    An ordinary email from an ordinary address. Follow-ups on day three and day seven, sent whether or not anyone is watching.

  3. 03

    It reads whatever comes back

    A PDF, a scanned page, or two lines of text. Each one becomes a total, a list of what is included, and a list of what is not.

  4. 04

    It tells you what the job really costs

    Every exclusion priced from what the others charged, every quote ranked by real cost, and a note when your decision makes one of them worthless.

← swipe for the rest

What it does not do

The parts that are honest about being unfinished.

Licence checks are NYC only

It queries the Department of Consumer and Worker Protection register directly. A company not on that register comes back unverified rather than assumed fine.

It does not find contractors

You bring the companies. Finding companies for you isn't built yet — you still have to name them.

The reader is sometimes unsure

When it cannot find a price it trusts, it says so and asks you to read the email yourself. That is better than a confident wrong number on a board about honest pricing.

One project, no accounts

Built in eight days for a hackathon. The architecture supports more; the interface does not yet.

Questions

Reasonable objections.

Isn't this just a form?

A form requires the contractor to fill it in, which is exactly the thing they will not do. Bidzy sends an ordinary email and reads an ordinary reply. The contractor does nothing different from what they already do fifty times a week.

Where does the “work left out” figure come from?

From the other quotes. If two contractors priced removal at $2,400 and $2,600, then removal costs about $2,500 on this job, and a quote that excludes it is $2,500 cheaper than it looks. Add a third quote and the figure sharpens.

What happens if nobody replies?

Two follow-ups, spaced three and four days apart, sent on a schedule with nobody watching. Then it stops and writes that the company needs a phone call. A third email does not work, and a system that keeps trying forever is just abandoning the job politely.

Does it email real contractors?

In this demo, no. The companies are real names checked against a real register, but the addresses are ones we control. Cold-emailing actual businesses from a hackathon build would be spam.

Why email rather than a portal?

Because every previous attempt was a portal and they all failed because the companies on the other end never signed up. A four-person roofing company will not create an account for one job they might not win. Email is the only thing both sides already have.

What is it built on?

Convex for the backend, with quote comparison and licence checks as two separate systems. AgentMail for the inbox. Firecrawl for reading quote documents and querying the city register. Groq for reading plain emails the same way it reads documents.