3
7 Comments

I Built a Pre-Launch Bug Finder for FastAPI — But Booting Apps Was the Real Wall

I built a pre-launch bug-finder for FastAPI, then ran it on real open-source repos to test it on code I didn't write.

Biggest surprise: finding bugs was the easy part. Getting the apps to boot was the wall.

Most repos never even started — buried under settings / DB / auth / model dependencies. My tool only works once an app is up and exposing its OpenAPI schema, and many never get that far on a fresh machine. The bottleneck wasn't detection. It was reach.

But every app that DID boot — 3 different authors, different domains — had the same defect: a handler throwing an unhandled 500 on certain requests. The best one was a crash on GET /stats with no input params: not bad user input, just the handler's own logic blowing up (averaging over an empty list). Small sample, but 3/3 is striking.

Takeaway: the wall isn't detection, it's reach. So I'm done validating — now building the next phase: meet apps where they are.

(All localhost, mine to run — not touching anyone's live servers. Screenshot below is my own demo app: 10 defects / 3 patterns, each with a paste-into-your-AI fix prompt, no key needed.)

Anyone else building API tooling hit the same "booting is the real wall" problem?

(https://pypi.org/project/preship/)
(https://github.com/ghkfuddl1327-wq/preship)

#FastAPI #Python #DeveloperTools #OpenSource #IndieHacker

on June 10, 2026
  1. 1

    The booting is the real wall takeaway is surprisingly relatable Finding bugs is one challenge but getting real world projects running consistently is often the bigger one Nice validation on the 3/3 defect pattern

    1. 1

      Thanks! 3/3 is a small sample, I won't pretend otherwise — but what struck me was that the three were totally different authors and domains, and the same defect showed up every time. That's the part that made me trust the pattern.

  2. 1

    That booting wall is the part most demos hide. For Kinetic Override I hit a similar boundary on Android: the macro recorder UI is easy to prototype, but AccessibilityService behavior, permissions, and gesture timing only get real after repeated device-level tests.

    1. 1

      The Kinetic Override parallel really lands. Android permissions/gesture timing or my booting wall — either way it's the same lesson: the real work only shows up under actual runtime conditions, not in the prototype. The prototype is exactly what hides it. Appreciate you sharing that.

  3. 1

    I'd be careful with one thing.

    The problem in the post feels very specific. The product feels much broader.

    That doesn't automatically make it wrong, but it can make it harder to tell what users are actually paying to avoid.

    The decision I'd be cautious about is not the next feature. It's whether every part of the product is reinforcing the same reason to buy.

    I wouldn't make that call casually in a thread.

    1. 1

      Fair point — the tool is narrower in practice than it might read. Running it in the wild is actually what taught me that: the sweet spot is apps that boot clean and expose a schema, which turns out to be a narrow slice. If you've got a specific take on tightening the buy reason, happy to hear it here in the open.

      1. 1

        Possibly.

        The reason I stopped short is that the useful part isn't the take itself.

        It's the decision sitting underneath it.

        I wouldn't unpack that casually in a thread.

        If you'd like the tighter version, drop your email and I'll put it together properly.

Trending on Indie Hackers
6 weeks solo, 2 rejections, finally live but nobody told me marketing would be this hard User Avatar 85 comments Building ExpenseSpy solo, no funding — launching June 17 on iOS & Android User Avatar 38 comments Hi IH — quick update. The MVP is live. User Avatar 34 comments I built a $5/1k-listing CRE data API because CoStar is overkill for first-pass scans User Avatar 18 comments Day 7: 51 people answered my question. I wasn't ready for what they said. User Avatar 18 comments Building LinkCover – Day 3: Payment is live. No more building, time to sell. User Avatar 12 comments