My homeowners insurer decided not to renew my policy because of the roof’s age, effective October 26. I found out on Friday, September 11, in an email from my agent. That left 45 days to find new insurance and replace a roof that has solar panels on it, all in the right order [measured, my agent’s email and the insurer’s notice]. Pulling together the house’s records turned up more: three city permits my contractors had pulled had expired without a final inspection.
By September 30 I had a replacement policy issued and paid, starting October 22 and built on a roof year from a licensed roofer’s written estimate, and I’d picked a roofer from two written bids. Two of the three expired permits had passed their final inspections. In the same weeks I learned my LLC had never registered in California, filed it, and had it approved. And a home warranty I’d been paying for every month without ever using, and couldn’t cancel online, is now cancelled and partly refunded.
I didn’t hire anyone to run it. I worked through it with AI assistants, mostly Claude, in a private folder of dated notes. They read my email and documents, checked rules and deadlines, and drafted the messages. I sent almost all of them, made the payments, and signed the filings. That split, and one check I learned to run on the assistant’s work, are what I’d pass on.
What was on the pile
The house alone was six separate problems at the same time, each with its own people and its own deadline. The rest of the month is further down.
| Problem | Who else was involved | Where it stood on September 30 |
|---|---|---|
| Home insurance non-renewal | My agent, a second broker, three carriers | New policy issued and paid; starts October 22 |
| Roof replacement | Four roofers who answered on Yelp, two who bid in writing | Roofer chosen; contract in, two fixes asked for before I sign |
| Solar panels and the rooftop AC | The solar installer, the solar loan lender, the HVAC company | Lender’s permission and installer’s price in hand; AC plan being priced |
| Three expired city permits | Three contractors, city staff | Two passed; one waiting on the city |
| My LLC’s state paperwork | The state and the city | Registration approved September 28 |
| Subscriptions, including a home warranty I wasn’t using | The warranty company, the Better Business Bureau | Cancelled and partly refunded |
None of these is hard on its own. What made it hard was the number of threads, the order they had to happen in, and how easy it was to miss one detail that changed the rest. Most of what the assistants did was read everything I already had and notice what it implied.
How the work was split
This is the part I’d copy. The assistant did the reading, checking, drafting and tracking. I kept everything that commits me to something, and one habit on top.
| Work | Who did it | The check or limit |
|---|---|---|
| Reading email, PDFs, portals, contracts and state rules | The assistant | Nothing extra; most of the catches below came from this reading |
| Checking rules, quotes and contractors’ licenses | The assistant | A rule it cites gets checked against its current source, because it once quoted a fine from a repealed law |
| Drafting messages and filling web forms up to the submit button | The assistant | I read every draft before it goes, and any figure in it says where it came from |
| Tracking dates and money, one dated note per problem | The assistant | A date or number a decision rests on gets checked against the original document, not a summary |
| Sending | Me, except two emails and three subscription cancellations I told it to do | I read it first |
| Signing in, payments, phone calls, signing filings, the final submit on forms | Me | It stopped at these by its own rules or its tools’ limits, sometimes after I’d asked it to go further |
| Judgment calls: which roofer, whether to hire an accountant, whether to push back on a fee, what to disclose | Me, after it laid out the tradeoffs | Sometimes I went the other way |
| Deleting anything | Me | It won’t delete permanently, even when I ask; its one slip is under Where it was wrong |
To copy it:
- Give the assistant your records, not your authority. Connect it to your email, your files and a browser so it can read and draft. Keep sending, paying, signing and anything behind a password for yourself.
- Keep one dated note per problem: what happened, what was sent, what’s next. When I came back the next day, the state of each problem was in its note, not in my head. By the end of the month there was also one index of every house document and where it lives.
- Ask “where did that come from?” of any date, amount or deadline a decision rests on, and have it check the original document, not a summary, including its own notes. Most of the mistakes further down were caught this way.
- Read every draft before it goes, and watch for other people’s words getting stronger on the way through.
Judgment stayed mine, and sometimes that meant disagreeing with it. The permit fee further down is the clearest case.
The insurance application that said my roof was new
This was the most valuable catch, so it goes first.
The first plan didn’t work. My old insurer would reconsider if a licensed roofer certified the roof as under 25 years old, and on September 18 the roofer who inspected it said he couldn’t certify the discontinued shingles. So I needed a new carrier, and on September 22 I added a second broker so more carriers were being checked at once. Her first quote came back the next morning, conditioned on the roof “being replaced this year.” When I asked follow-up questions, she wrote that she’d put on the application that the roof was replaced this year. It hadn’t been. No contract was even signed.
Claude flagged it right away: a false answer on the application could cost me the policy. I corrected it that evening, and that carrier then declined without a finished roof. The next day Claude looked up how far that risk goes. Under California’s Insurance Code, a false material statement on an application can let an insurer rescind the policy, even if the mistake was innocent [source, Insurance Code sections 331 and 359, read September 24]. A policy that can be voided after a fire is not the coverage I was paying for.
The broker’s next quote, from a different carrier, listed the roof as installed in 2026. When I asked her to fix it, the revision said 2006. Nothing in my records supported 2006, and my old insurer said the roof was over 25 years old. The application wouldn’t accept “unknown.” What could settle it was a licensed roofer’s written estimate of the roof’s age, which I’d already asked both roofers for.
On September 27 one roofer wrote that the roof had been replaced twice since the house was built, the last time “within the last 10 to 18 years,” and that he believed that last job was done without permits. We used the oldest end of that range, 2008. I added the part about permits myself: if I was going to give an age from his estimate, I wanted the rest of his estimate on the record too. The next morning the broker wrote that the first carrier’s group could write the policy with the 2008 roof year [measured, her September 28 email]. The roof stays rated poor until it’s replaced, she said, and a quote can’t carry a planned replacement; once the new roof is on, I send the carrier proof so it can update the rating.
That quote still had three errors, and Claude caught each one on its read of the PDF before I agreed to anything. It gave me a discount for bundling car insurance I’m not moving; taking that out raised the price by about $261 a year. It left other-structures coverage at less than half the amount I’d asked for. And the revised quote listed the roof as architectural shingles, which it isn’t; the broker said third-party data pulls it that way, and changed it [measured, the quotes of September 28]. I accepted the corrected quote that afternoon.
The clearest example of the split came next, on a question I hadn’t planned for: earthquake coverage, which I’d never carried. Claude pulled the state earthquake authority’s own estimate first, then set the broker’s quotes side by side by deductible: $1,744 a year at 10%, $1,328 at 15%, $1,093 at 20% and $890 at 25%. It laid out what each step down in deductible cost. The decision was mine, and I kept coming back to one fact: if the house were destroyed, I’d be in real trouble. I chose 20%. Flood was easier: the federal flood map puts the house in the lowest-risk zone, and I passed on it.
Details I think I’d have missed
These are the finds I’m fairly sure I’d have missed, or found late. That’s my own estimate, not something I can measure, since I don’t have a version of these weeks without the assistants to compare against.
Three expired permits. A public permit search Codex, OpenAI’s similar assistant, ran on September 14 listed three permits my contractors had pulled for recent work on the house as expired. On September 18 Claude read that search while pulling together the house’s history, checked the city’s portal, and flagged that none had a final inspection [measured, the saved search and the city’s September 21 emails]. Open permits can surface when you pull a new permit, when an insurer looks at the house, or when you sell. I emailed the city and all three contractors that morning. The city gave all three until the end of October to close out.
An inspection I couldn’t book. The city said I could schedule one of the finals online, and I couldn’t select a date. Claude tried several and found the inspection type was a retired one the portal wouldn’t accept. Its draft to the city offered the week of October 12; I asked why not sooner and said any weekday worked. The city booked it by email for September 30, a month before the permit expires, and it passed that day [measured, the city’s email and the signed inspection report]. Another final had passed the day before.
A clause in the solar contract. The panels have to come off for the roof. The installer’s warranty says that if anyone else removes or reinstalls the system, the warranty is void. That would have been easy to break by letting the roofer arrange it through another company for a similar price. The installer confirmed in writing that nothing is voided when they do the work themselves. The solar loan’s lender also had to give permission first; I asked on September 18 and had its letter in hand on September 23.
A warranty certificate that disagreed with itself. The roofer’s sample warranty certificate said “lifetime” in one place and “10 Years” in another, and the quote said 20 years. Claude spotted the mismatch, and I asked for 20 years in writing. The roofer answered that she “will update the certificate to clearly state the 20-year workmanship warranty to match the contract” [measured, her September 29 email]. The contract arrived that night, and I’ve asked for two small fixes before I sign it.
Water the insurance won’t cover. I asked what happens if street runoff floods the garage, and Claude explained a gap I didn’t know existed. The homeowners policy treats water that flows in from outside as flood and excludes it. Federal flood insurance generally counts a flood only when it covers at least two acres or two properties, so runoff that floods just my lot can fall between the two. That’s how these policies are usually written, not a reading of my policy’s exact wording. It matters here because my driveway slopes down from the street to the garage, and the drain there clogged a few times last year. Claude pulled up my 2022 home inspection, which rated the driveway poor, noted “Drain grate missing,” and flagged soil built up above the slab. Its advice was that the best protection for that risk isn’t a policy: it’s getting the drainage checked by someone who can trace where the drains actually go, and lining that up with where the new roof’s downspouts will empty. It’s still helping me through it. I asked my broker to compare flood policies, including whether one would cover runoff that affects only my property, and passed on the quote that came back. I’ve also asked my landscaper whether they do drainage work, and I’m waiting to hear.
A fee that wasn’t mine to pay. A contractor said it had asked for the final inspection when the work was done and the city couldn’t find the request, and that I’d need to pay a $200 fee to reopen the permit. Claude’s first take was that $200 wasn’t worth fighting. I didn’t think it was fair: the permit was in the contractor’s name, and it had sat expired for a long time. When I asked whether closing it out wasn’t their job, Claude agreed that the contractor who pulls a permit is usually the one responsible for its inspections. It checked the contractor’s state license record, then drafted a polite reply, copying the city, asking them to cover the fee and request the final before the new deadline. They agreed, and the next day the contractor wrote that the permit “has been paid and reactivated” [measured, its September 26 email].
The warranty I wasn’t using and couldn’t cancel
On September 18 Claude went through a year of one credit card’s statements and ranked what I could cut. I kept the AI tools on purpose, since I use them for paid work. The cuts I’ve made so far come to about $1,365 a year, counting a $144 trial I cancelled before it charged, and it found a $468 renewal I’d already cancelled in January [derived, from the card export, the cancellation emails and my own report of one cancellation].
The home warranty was the hard one. I’d been paying $64.15 a month for it, and its account showed no service request ever made [measured, the card export and the warranty account’s service page]. The AC and electrical panel it would have mattered most for were both new and under their own warranties. So I wanted out, and the online account had no cancel option anywhere. A chat agent left without processing the request, and the phone team said only the person named on the contract could cancel. That turned out to be my ex-partner, even though the account and the card were mine. My ex called too and was promised a callback.
On September 19 I filed a complaint with the Better Business Bureau asking for cancellation from that day and a refund of the next installment. The cancellation itself came through when my ex called again on September 24, and when the company answered the complaint on September 28, it refunded most of that installment.
Everything else that month
The house was most of it, not all of it. 🤯 The same setup ran alongside these, at home and at work.
| What | Where it stands |
|---|---|
| September 9 and 16. A production release of a client web app I work on, then an automated release process for it | Shipped |
| September 10 to 23. Rebuilt the operator I run my projects through, so its rules and tools load inside every project session | Merged |
| September 13. Codex pulled a year of transactions from my main checking and card accounts into one baseline, which the card review above built on | In progress |
| September 19. Timed my regular Amazon reorders to see whether scheduled delivery was worth it. The saving came to about $260 a year at the base discount | I decided it wasn’t worth unwanted deliveries |
| September 22 to 28. Decided to start a consulting practice, then named it Watson Standard, bought the domain, put offers live, launched the site and announced it | Live |
| September 25 and 26. Sent six private security heads-ups to builders whose public apps had problems, each fact-checked by a separate review before it went out | One follow-up each is due in early October if they’re still unfixed |
| September 26. Started Watson Standard Open Hours: free, opt-in security and usability checks, and a daily search of public forums for people asking for help with apps built with AI tools. The assistant drafts replies; I post them myself | Replies posted September 26, 29 and 30 |
| September 26. My PC kept crashing. The assistant read every crash dump Windows had kept, traced all 12 blue screens since September 10 to a game anti-cheat driver, and disabled it | One more crash on September 27, with a different error; not yet diagnosed |
| September 27. Before pushing my finance notes to a private GitHub backup, it scanned their history and found five full account numbers, my date of birth and the last four digits of my Social Security number | Stopped for my call; nothing was pushed |
| September 27. Opened a fix to an open-source authentication library | Open |
| September 28. Published a security self-check page for builders. A separate review found and fixed five errors in it before it went live | Live |
| September 28. Built a script to pull bank transactions automatically, so I don’t download statements by hand, and tested it on sample data | Built; I still have to sign up for the service |
On the software side, 119 pull requests merged from my account in seven repositories between September 1 and 28 [measured, GitHub]. That’s a count of output, not effort. The assistants wrote most of that code, and I directed, reviewed and merged it [assumed, from how I work, not counted].
Where it was wrong
The split has a cost. Because everything waits for me to send it, drafts pile up, and an old draft can sit next to its newer replacement. I’ve had to clean out superseded drafts more than once so I don’t send the wrong one.
It also made mistakes. These are the ones that mattered, and none of them cost anything.
- Other people’s words, made stronger. It told me the new application said the roof “is being replaced this fall,” when the broker had said a quote can’t carry that. A draft to the HVAC company said the roofer “would like” them to build a curb under the AC; the roofer had written that they “should be able to.” A draft to the second broker stated the roof was over 25 years old as fact, when that was only my old insurer’s claim. I caught each one by asking whether it was true. After the curb, I added a rule to the standing instructions every session loads: when you repeat what someone said, re-read it and keep its strength.
- A summary instead of the source. It told me the old policy probably ran to November 4, from a note written before my agent’s emails about October. A draft to the broker used a replacement cost from an earlier summary and a personal-property limit copied from my old policy’s default. I asked where each came from, and it went back to the source.
- A fine from a repealed law. An early look at my LLC’s filings on September 22 said an unregistered LLC is fined $20 a day, up to $10,000, though it flagged the figure as unconfirmed. The next day’s fuller check found that came from a repealed section, and withdrew it.
- A draft it deleted. It permanently deleted an old email draft of its own after making a corrected copy. Nothing was lost, since the text was identical. It had also tried three times before to move its old drafts to the trash without asking, and the email connector blocked all three. Permanent deletes are a line it holds even when I ask, so this one broke its own rule, and it said so.
It caught my mistakes too. I told it the roof was tile. It checked the 2022 inspection photos, the seller’s disclosure and the solar plans, all of which said asphalt shingle, and asked. I’d said the wrong word.
What’s still open
As of September 30:
- Both new policies are issued and paid. What’s left is cancelling the old one from October 22.
- The roof contract needs two small fixes before I sign, and the work will likely happen later this fall.
- The last expired permit is waiting on the city.
- The drainage check still needs booking.
What I used, for the record: Claude Code, Anthropic’s coding assistant, ran on Claude Fable 5.1 through September 19, with some research on Claude Opus 5, and only on Claude Opus 5.5 from September 22 on [measured, the model recorded for each request in my logs]. OpenAI’s Codex did a real share of the early research, outreach and planning between September 12 and 22. The insurance catches above happened in the Opus 5.5 stretch.
This post describes where things stood on September 30. I’ll add a dated update once the roof is signed.