Skip to main content

Anthony Hayes

Nine Things Were Broken. None of Them Looked Broken.

Build in Public · #11

I got up at 3am because the cats were fighting outside. By 10am I had been to the gym and found nine things that were quietly broken. Not one of them looked broken. That is the part worth writing about.

This is a follow-up to the post where I argued AI did not make me work less. That one was about quality. This one is about something I did not expect, and it took a strange morning to see it.

Here is the honest version of the morning. Cats woke me around 3am. I was not planning a productive day, I just could not get back to sleep. I opened two Claude Code chats, one for the website and one for the Chrome extensions, and worked both. I went to the gym somewhere in the middle. By 10am the list of things that had changed was longer than some of my old months.

But the volume is not the story. The story is what the work turned out to be.

Find this useful? Add us as a preferred source on Google and more of what we publish will show up in your results.

Nine things were broken. None of them looked broken.

The 9 Silent Failures Infographic

I did not set out to fix anything. I set out to build. What actually happened was that I kept finding things that were already wrong, and had been wrong for a while, and had given me no signal at all.

  • My website was invisible. Updates had not been showing for days. My team changed the homepage on Tuesday and nobody saw it. Not visitors, not me in a private window, not on a different machine.
  • A product download had been broken since July. The zip file for one of my Chrome extensions was missing two files it needed. People who bought it were not getting an old version. They were getting one that would not install at all.
  • An extension’s settings page belonged to a different product. Different name at the top, nine sections for features that tool does not have.
  • Three extensions shipped the wrong README. All carrying documentation for a completely different tool.
  • An opt-in form did nothing. The page looked perfect. WordPress had silently mangled the script behind it, so the button just sat there.
  • Two landing pages had never been in my sitemap. Live for weeks, invisible to search.
  • My build guard lied to me. It reported “all 8 files present” while one of those files was missing.
  • Two of my tests were fake. They passed whether the code worked or not.
  • A service I had not launched yet promised things I could not deliver. Fourteen sites on a list I was about to sell were places you simply cannot submit a link to.

Read that list again and notice the pattern. Every single one of those failures was silent. Nothing errored. Nothing turned red. No customer emailed me. The website looked like a website, the download link looked like a download link, the tests looked like passing tests.

That is what makes this class of problem so expensive. A loud bug gets fixed on Tuesday. A silent one just quietly costs you for a month.

The one that would have hurt most

The New Homepage, Finally Visible

The website cache was the worst of them, and it is worth explaining because I suspect a lot of people reading this have the same problem and do not know it.

My site sits behind three separate layers of caching. Each one was doing something reasonable on its own. Together they meant that when my team updated the homepage, the change went into the database, and then three different systems each kept serving the old version to everybody. I had checked in a private window and on my phone, which is normally how you catch this. It still showed the old page, because the layer holding it was not in my browser at all.

I had been about to start promoting the site properly. Forty-odd posts ready to publish, a services offer, a launch cadence. Every one of those updates would have gone out to an audience that could not see them. I would have concluded my content was not landing.

It took about an hour to trace and fix, and it is now permanent: every save purges everything automatically. But the thing I keep thinking about is that I only found it because I got suspicious about a homepage hero that looked stale.

What I actually did with the new capacity

AI Productivity Engine Look Back, Move Faster

Here is the reframe, and it is the point of this whole post.

When people talk about AI making you faster, they mean making things. More posts, more tools, more code. That is real, and I have leaned on it hard. The scorecard shows what a month of it looks like.

But this morning almost none of the value came from making. It came from checking. From having enough capacity spare to ask “is this actually true?” about things I had already shipped and already believed were fine.

That is a genuinely different use of the leverage, and I do not think it gets talked about, because it does not demo well. Nobody posts a video called “watch me discover my own download has been broken for six weeks.”

The uncomfortable part is that all nine of these were mine. My site, my products, my tests, my list. Not one of them was somebody else’s fault. Having the capacity to check meant having the capacity to find out I was wrong, repeatedly, in a single morning, before breakfast.

The test that tested nothing

The Test That Tested Nothing

My favourite one, if that is the right word, was the fake tests.

I have been adding proper test suites to the extensions. The whole reason you write tests is so the machine tells you when something breaks. This morning two of those tests turned out to pass regardless of what the code did. They were not testing anything. They were decoration that looked like diligence.

And the build guard was the same species of problem. It checked that every file named in the manifest existed. One critical file is loaded a different way, so it was never in the manifest, so the guard confirmed everything was present while the product was unusable.

Both were things I had built specifically to catch problems. Both were quietly failing to. There is something clarifying about discovering that your safety net has a hole in it, and that you put it there.

What actually changed today

Mission Control After-Action Report

For the record, because build in public means showing the ledger and not just the mood:

  • The caching fixed permanently, across every layer, with automatic purging on every save.
  • The broken download rebuilt, plus a new build guard that I proved catches that exact defect.
  • The wrong settings page and the wrong READMEs replaced.
  • The dead opt-in form fixed and the whole journey verified end to end, from old link through redirect, landing page, opt-in, thanks page and download.
  • Two landing pages moved into WordPress properly, indexable and in the sitemap.
  • An AI assistant deployed on the site that answers questions about the tools.
  • A complete new service line built: sales page, order form, the system that takes the order and tells the team what to do.
  • Fourteen undeliverable sites removed from that service before anyone could buy it.
  • A free press release writer, and an internal tracker so the team can work a campaign and hand it over half-finished.
  • A new feature shipped on another extension, with 34 tests written from zero.

Two chats, running in parallel, one morning, one gym trip.

I want to be careful here, because this is exactly where posts like this usually start lying. This was not a normal day. It was a burst, powered by insomnia and cats. If I claimed this as a daily rate I would be doing the thing I keep criticising other people for. Most days are slower and more ordinary than this.

And none of it is earning yet. The services page is still a draft waiting on my daughter to set up the checkout. The chatbot is switched on for me and nobody else. The press releases have blanks in them where the real numbers go. Built is not the same as banked, and I would rather say so.

My Take: Everyone is using the new capacity to make more. I did that for a month and it worked. But this morning showed me the more valuable use, which is checking what you already made. Nine things were broken. Nothing told me. No error, no complaint, no red light, because the failures that actually cost you money are the ones that look completely fine. A loud bug gets fixed the same day. A silent one bills you every day until you go looking. So the real unlock is not that I can build faster. It is that I can finally afford to be suspicious of my own work, at a scale I never could when every hour had to go into shipping the next thing. If you have got this leverage now, spend some of it looking backwards. I promise you something is quietly broken.

Cornerstone Workshop

Want to build a site that actually shows your updates?

The caching problem in this post is one of the required lessons in Cornerstone, along with the whole system for building and running an asset site with Claude Code.

Privacy Policy·Terms of Use·Earnings Disclaimer·Contact·Cookie settings

We use essential cookies to run the site and analytics cookies to understand traffic. See our Privacy Policy.

This Privacy Policy explains how KISS Internet Marketing Co. Ltd. ("we", "us") handles your information on anthonyhayes.io.

What we collect

Our free tools run in your own browser; content you paste into them is not sent to or stored by us.

How we use it

To send the Growth Signals newsletter and updates you asked for, deliver requested tools, improve the site, and respond to enquiries. We do not sell your personal data.

Cookies

We use essential cookies (to run the site) and analytics cookies (to measure traffic). You can choose "Essential only" from the cookie bar, or reopen it anytime via "Cookie settings" in the footer.

Third parties

We share data only with the providers that run the service — Kit (email), Google (analytics), and our hosting — each under their own privacy terms.

Your rights

You can unsubscribe at any time via the link in any email, and you can ask us to access, correct, or delete your data by contacting support (below). We keep your email until you unsubscribe or request deletion.

Contact

KISS Internet Marketing Co. Ltd., 391/47 Moo 10, Thappraya Road, Soi 15, Nongprue, Banglamung, Chon Buri 20150, Thailand. Support: anthonyhayes.ladesk.com.

We may update this policy; the current version always lives here.

By using anthonyhayes.io and its free tools you agree to these terms. The site is operated by KISS Internet Marketing Co. Ltd.

Use of the site and tools

The content and free tools are provided for your own use, "as is", without warranties of any kind. The tools run in your browser and, where AI features are used, on your own AI account/keys.

Not professional advice

Everything here is educational. It is not legal, financial, tax, or professional advice, and results are not guaranteed (see the Earnings Disclaimer).

Intellectual property

The site's content, branding, and tools are ours or our licensors'. You may use the tools for your work, but please don't copy, resell, or redistribute the content or tools as your own.

Affiliate and third-party links

Some links are affiliate links — we may earn a commission at no extra cost to you. We are not responsible for third-party websites or their content.

Limitation of liability

To the fullest extent permitted by law, we are not liable for any loss or damage arising from your use of the site, the tools, or reliance on the content.

Governing law & contact

These terms are governed by the laws of Thailand. Questions: anthonyhayes.ladesk.com.

We may update these terms; continued use means you accept the current version.

Any results, income figures, or case studies shared on this site or in the newsletter — including the build-in-public posts — are our own experience and are not typical.

No guarantee of results

We do not guarantee that you will earn any money or achieve any particular result. Your outcomes depend on your own effort, skill, experience, market conditions, and many factors outside our control.

Forward-looking statements

Any projections or "targets" we mention are estimates and aspirations, not promises. Actual results can, and often do, differ.

Affiliate & financial relationships

We promote our own products and, at times, other people's products as an affiliate, for which we may receive a commission. We only recommend things we believe are worthwhile, but you should do your own due diligence before buying anything.

Your responsibility

You are responsible for your own business and financial decisions. Nothing here is financial advice.

Operated by KISS Internet Marketing Co. Ltd. · anthonyhayes.io

We'd love to hear from you. The fastest way to reach us is the support desk.

Support

anthonyhayes.ladesk.com

Company

KISS Internet Marketing Co. Ltd.
391/47 Moo 10, Thappraya Road, Soi 15
Nongprue, Banglamung, Chon Buri 20150
Thailand

Phone

+66 0957 949894

Website

anthonyhayes.io

Ask about the toolsAnthony Hayes · usually instant
AI assistant · answers from Anthony's tools & content