veryone talks about launching an AI app like it's a weekend hackathon project: prompt an LLM, wire up an API, slap on Stripe, and watch MRR roll in.
Nobody talks about the unglamorous infrastructure plumbing that quietly destroys your sanity.
Over the past month, I’ve been building Ominvo—an AI tool designed to help local businesses automatically monitor and reply to Google reviews in seconds. The core AI logic took a couple of days. The real war was fought against free-tier limits, Git defaults, and CI/CD gremlins.
If you're bootstrapping an MVP on a zero-dollar stack, here are five brutal, self-inflicted headaches that cost me days of progress so you can avoid them:
The bug? My code was fine. Vercel’s free hobby tier hard-caps cron jobs to once every 24 hours. Hourly schedules fail silently without throwing an explicit build error. A full working day evaporated over a single line in a pricing table.
The 2 AM PowerShell main vs. master Black Hole
My local PowerShell initialized git with the legacy default branch name master, while the remote GitHub repo and Vercel deployment pipeline were strictly listening to main. I was writing code, committing, pushing cleanly, and watching Vercel deploy absolutely nothing new. It felt like browser caching had broken the laws of physics until I realized I had been pushing to an orphaned branch the whole time.
The GitHub Actions Health Cron That Ghost-Reverted Production
We had a GitHub Actions cron job set up to ping our production endpoints to ensure uptime. Three separate times over two weeks, I woke up to find our production site mysteriously serving an older, broken build.
Because GitHub Actions scheduled workflows run against the repository's default branch ref, a stale branch reference combined with an automated redeploy trigger caused the CI/CD pipeline to checkout an outdated commit and silently overwrite our latest production deployment.
The Google Business Profile OAuth Bureaucracy
Getting a standard "Sign in with Google" button working takes 10 minutes. Getting approval to read and write to actual Google Business Profiles is an endurance test. Google requires strict verification: brand-specific consent screens, comprehensive privacy documentation, detailed explanation videos demonstrating the exact UI workflows, and days of waiting in silence.
Redesigning the Landing Page 3 Times (The Perfection Trap)
Before we even had our first 10 beta users, I rebuilt our landing page three separate times. Do you know how many local restaurant and salon owners cared about the border-radius on our cards or the CSS gradient in the hero section? Zero. Local business owners don't inspect your landing page like UI designers on Twitter; they only care if it handles their negative reviews.
The State of the Build
Despite burning days on silent cron limits, phantom branch rollbacks, and Google verification hoops:
The polling and background sync are running reliably.
Google Business OAuth is approved and functional.
Our single-location MVP is locked down, and we just passed initial inspection for our upcoming AppSumo launch.
What’s the most frustrating micro-bug or silent platform limit that stole 48 hours of your build?