Bidzy emails contractors for you, reads whatever comes back, and works out the real cost.
bidzy-roofing-8egxzd@agentmail.to
Five companies asked. Four replied. One of them looks cheap and isn't.
of work the cheapest quote left out, priced from what the others charged for it
follow-up emails before Bidzy tells you to just call them yourself
from the first email to a price you can actually trust — done automatically
accounts a contractor has to create to be part of this
01 — the chase
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
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
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.
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.
The number in the email. The one you would have picked.
Removal and disposal, delivery, skip hire, sales tax. You'd have to pay for these separately.
The most expensive quote on the board, and the one that looked cheapest.
01
Roof replacement at 42 Marlow Street, asphalt shingle, full tear-off. Bidzy gives it a real email address of its own.
02
An ordinary email from an ordinary address. Follow-ups on day three and day seven, sent whether or not anyone is watching.
03
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.
04
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
It queries the Department of Consumer and Worker Protection register directly. A company not on that register comes back unverified rather than assumed fine.
You bring the companies. Finding companies for you isn't built yet — you still have to name them.
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.
Built in eight days for a hackathon. The architecture supports more; the interface does not yet.
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.
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.
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.
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.
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.
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.