Bednight Stories
↓ / → to advance  ·  F for fullscreen
Site & search assessment
Prepared for Breesy
August 2026

The 2AM problem.

Pipes burst at two in the morning. That is when someone finds your site, on a phone, in the dark, standing in water. This is what they find.

Breesy Restoration Connect Bednight Stories
02In one minute

You’re building a world where nobody has to call. Neither site says so.

The bet is a good one, and it is the same bet Breesy Voice already makes from the contractor’s side. Someone describes the damage once, the routing happens without a call center in the middle, and nobody waits on hold at 2am. That is what makes this different from every other restoration lead form.

We audited both properties end to end. Connect came back with 33 findings, breesy.ai with 65 across 47 pages. Different problems, one shared cause: both sites are better than they look and neither one explains itself.

106Pages reviewed
98Findings verified
0Ad tags on either site
1Image file across breesy.ai
Bednight Stories
03What I think you are

Two companies. One of them is invisible.

Parent · B2B Breesy

Software sold to restoration contractors. AI that answers their phones, captures intake, tracks revenue. Real customers, real trade press. A credible company.

This site · Consumer Restoration Connect

Points the other way. A homeowner in an emergency fills out one form and gets routed to a local crew. Demand generation feeding the same contractors.

Second audience The agent API

An open endpoint so a personal AI assistant can file the request for its user, the phone-free thesis made literal. Good product thinking, currently living on the homepage.

The two sites do not link to each other. In either direction.

“breesy.ai” appears zero times on this site. “breesy-connect” appears zero times on breesy.ai. No parent company in the code, no shared branding, domain four months old behind private registration. There is no path, for a person, for Google, or for ChatGPT, from this site to the real company that owns it.

Bednight Stories
04The thesis

You’re already fixing this from the other end.

Restoration’s weak point is the phone call. More than half of emergency calls come after hours, even strong firms answer only about 87% of them, and industry figures put each missed call at $2,500–$10,000, because the homeowner simply dials the next company while it rings out.

Breesy Voice · the contractor’s phone Answer every call

AI picks up 24/7, triages, and routes. Your own published numbers: a 100% answer rate, 30%+ more leads captured, 22%+ more jobs.

Connect · the homeowner’s phone Remove the call entirely

Nobody dials, nobody waits on hold, nobody gets told “someone will call you back.” Describe it once and the crew is routed.

That is one strategy attacking the same broken thing from both sides, and it is a good one. Your site says none of it. Connect reads as an orphan lead form, not as half of a company thesis.

Bednight Stories
05Who the homepage is for

Four of your five buttons point at a JSON file.

The hero offers: View Services, AI Agent API Guide, View AI Agent JSON, Read llms.txt, View OpenAPI JSON. The form’s own subhead reads “AI agents should submit JSON to POST /api/requests.” That sentence sits above the box where a frightened person types what happened to their house.

Homeowner copy613 words
API documentation369 words

37.6% of your homepage is developer documentation. The homeowner gets 107 words before hitting an eight-row API endpoint table.

Bednight Stories
06The moment it breaks

The robot gets a better error message than the human.

Both submit the same incomplete request. Here is what each one gets back.

AI agent · sends JSON Told exactly what went wrong
HTTP 400 { "error": "validation_failed", "issues": { "callbackPhone": ["required"], "state": ["invalid"], "details": ["too short"] } }

Every failing field named. Fix it and retry.

Homeowner · submits the form Told nothing at all
HTTP 303 → /request-error "We need a little more information." [ Back to Request Form ]

No field named. Nothing they typed is saved. “Back to Request Form” loads a blank form.

They filled out ten fields on a phone, one-handed, in an emergency. Now they start over with no idea what was wrong, and because there is no phone number, there is no other way in. For a phone-free product this is not a conversion leak, it is the service failing shut. You have no analytics installed, so nobody knows how often it happens.

Bednight Stories
07On a phone

One page is two and a half times wider than the screen.

/ai-agent-api

Your API page renders 963 pixels wide on a 375-pixel phone. It spills sideways and stays broken at every width up to about 1600px. A code sample can’t scroll inside its own box, so it drags the whole page with it. That one is a easy fix.

Phone screen375px
Page width963px
ZoomEvery form field is 14px, so iOS zooms the page the moment you tap one10 fields
BuriedThe form starts nearly two screens down on a phone. On desktop it’s right there.1,349px
WeightYour favicon is a 1024px image loaded on every page, most of your load time1.4 MB
Bednight Stories
08What Google sees

Fifty pages that say the same thing.

You have a landing page for all fifty states. Compare Alabama to California and 253 of 260 words are identical, the only differences are the state name and its two-letter code. Those fifty pages are 81% of all the words on your site.

AddressThe site loads on www, but every page tells Google the real address is the non-www one, which redirects away59 pages
RedirectThat redirect is marked temporary, so Google never fully commits307
HiddenState pages carry FAQ code for questions that never appear on the page, against Google’s rules51 URLs
SpoofNo DMARC record, so anyone can send email that looks like it came from youUnprotected
BlindNo analytics, no Search Console. Nobody can see what any of this is doing.0 tags
Bednight Stories
09What worries me most

You’re collecting home addresses with no privacy policy.

The form asks for a phone number and a street address, both required, then hands them to a third-party contractor who will call. There is no consent line, no privacy page, no terms. Breesy’s own policy covers breesy.ai only.

404/about  ·  /contact  ·  /privacy  ·  /termsAll missing
Claim“Highly rated, certified partners”, no partner named, no certification named, no reviewsUnproven
Claim“60 minute on-site guarantee”, published with no conditions and no definition of when the clock startsExposed

I am not your lawyer and this needs one. I’m flagging it because it is live right now, and it is the only thing on this list whose downside doesn’t depend on traffic.

Bednight Stories
10The other site

breesy.ai has never sent a single advertising signal.

Across all 47 pages there is one tag: basic traffic reporting, configured bare. No Google Ads tag, no Meta pixel, no LinkedIn Insight, nothing. Which means no campaign can bid to conversions, and no retargeting audience has ever started filling.

BlindNobody can measure a click, a form fill or a demo request on the site today47 pages
One door187 of 199 buttons ask for the same 30-minute sales call. No price, no lead magnet, no email list.94%
UnfinishedThe pricing page ships a fake calendar, clickable dates wired to nothing, under a developer note reading “connect your Calendly link”Live now
InvisibleNothing machine-readable connects the site to its own LinkedIn page or its trade coverage, so searches resolve to three unrelated companies0 links

Advertising needs roughly 30 days of tracking history before it can optimize. That clock has not started, which makes this the first thing to fix regardless of what else we do.

Bednight Stories
11The bottleneck

One image file. Forty-seven pages.

Not one hero image. one referenced image file on the entire site. No photography, no video, no product footage, no customer stories.

That single fact blocks three of the things you have asked for at once. No ad platform accepts a campaign without creative. A social calendar has nothing to post. And video has nothing to cut from.

BlocksPaid mediaNeeds creative
BlocksSocialNeeds assets
BlocksVideoNeeds footage
AlsoEvery share of an article renders a blank white cardNo OG images

This is why the creative shoot sits in phase one rather than waiting for a content calendar. It is the longest lead time on the whole engagement and the least compressible, a screen recording can happen next week, a job-site shoot cannot. The single highest-value asset is a 60–90 second demo using real Breesy Voice call audio, because a buyer wants to hear the AI answer a call before they book anything.

Bednight Stories
12To be fair

Both sites are better than they look.

Neither of these is a rebuild, and that is the reason a quarter is realistic. breesy.ai in particular was built by someone who knew what they were doing, the failures are failures of finishing, not of craft.

Fast, and correctly built

Both load in well under a second. Every performance problem is payload, not platform, so every fix is a change, not a migration.

breesy.ai’s foundations are clean

47 of 47 pages with unique titles and descriptions, 66 valid structured-data blocks, Search Console verified, correct status codes.

The content is real, and the data behind it is yours alone

Substantive articles built on 30,000-job benchmarks no competitor can replicate. A program worth restarting, not replacing.

The proof already exists

Three named operators at recognizable brands, and a completed SOC 2. Most companies at this stage have neither.

Connect’s API is properly engineered

It already returns the detailed error data the form throws away, which is exactly why that fix is cheap.

The fixes mostly already exist somewhere

Connect’s service pages do the markup correctly. breesy.ai’s demo page tracks properly. Both patterns just need extending.

Bednight Stories
13What I’d do

The first quarter.

Sequenced around what unlocks what, not around the calendar. Your developer ships the code; we write it, spec it and check the work.

01 Instrument and stabilise
  • Measurement live on both sites, starting the 30-day clock
  • Kill the fake calendar; fix the headline that names the wrong category
  • Connect: privacy, terms, and the broken form error path
  • Creative shoot scoped and captured
  • Claim the social handles before someone else does
02 Build and launch
  • Breesy identity system delivered
  • Creative library delivered, including the demo film
  • UX specs to your developer for both sites
  • Editorial restarts; internal linking and schema build-out
  • First paid campaigns live on breesy.ai
03 Extend and measure
  • Connect identity delivered, extending the parent system
  • Connect rebuild shipped
  • Expand what worked in paid, cut what did not
  • Video program running
  • 90-day review: what to scale, what to stop
Settle at kickoff
  • Do we get repository access, or does everything route through your developer?
  • Which ad accounts already exist, and who owns them?
  • Can the 30,000-job dataset be published?
  • Who are the named authors and faces?
Bednight Stories
14Just as important

What I would not do.

×

Add more robot files and call it SEO. Google’s AI answers read ordinary web pages. Your agent files are a good product feature, not a ranking trick, and there are already seven of them.

×

Build a page for every city. That is the same mistake as the fifty state pages, six times bigger. Real city pages need a real named crew behind them.

×

Hide that you send a partner rather than your own truck. Saying it plainly is what makes the rest of the site believable.

×

Touch breesy.ai until this site is something a person can actually use.

Bednight Stories
15Where this goes
Neither site is broken. Both are unfinished, and unfinished is a much better problem to have.
What we fix first

Measurement, because it gates every advertising decision and starts a 30-day clock. Creative, because one image file blocks social, paid and video at once. And the identity, because Connect’s cannot be built until Breesy’s exists.

What we do not do yet

No national paid search behind Connect. Google’s own policy rules out the one channel that would actually work there, and a contractor can buy the same lead for less than it would cost us to make one. That money is better spent elsewhere this quarter.

The job is to make both sites say out loud what the company already believes: the phone call is the broken part of restoration, and Breesy is removing it from both ends. Voice answers the ones that still happen. Connect makes sure they don’t have to.

joanna@bednightstories.consulting
Next
The breesy.ai audit
65 verified findings across 47 pages, and what each workstream actually weighs.
All documents