The Four Months I Thought MEGA Was Just Broken
For four months, every time I built a product in MEGA — my print-on-demand SaaS — I’d hit the same weird wall.
I’d fill in my prompt. Generate the image. Pick the mockup. Click Create Product (Draft). And then I’d watch a spinner for about two and a half minutes while MEGA talked to WooCommerce, uploaded high-res files to Cloudinary, ordered mockups from Printful, and synced everything up.
The whole time, I was frozen in the tab.
If I clicked away to check something else? Process ruined. Refresh the page? Process ruined. Phone rang and I lost the window? Process ruined.
I just thought MEGA was annoying in that one specific way. I had no vocabulary for what was actually wrong. I’d built the thing in a Kiro hackathon in January 2026, and I just figured “that’s how it is, I guess.”
I was wrong. There was a name for what was wrong. There was a well-known pattern for fixing it. And I shipped that fix to production today, with Claude as my collaborator.
Producer/Worker. Two Words I Didn’t Have Yesterday.

Here’s what I learned. Software engineers have a name for the pattern where a slow task blocks your user: synchronous. The whole app has to sit and wait. When that slow task talks to APIs you don’t control — Printful’s mockup queue, Cloudinary’s upload pipeline, WooCommerce’s REST endpoint — every network hiccup is a second your user is staring at a spinner. Two and a half minutes of staring.
The fix has a name too: producer/consumer. Or in our case, producer/worker.
- The producer is the part of the app the user actually sees. When you click Create Product, the producer doesn’t do the work itself. It just writes a row to a database table that says “hey, somebody do this.” That happens in about 100 milliseconds. You get an instant response.
- The worker is a separate process — literally a second program running on a second server — whose entire job is to watch that table for new rows and do the actual slow work. Cloudinary upload, Printful mockup, WooCommerce publish, Airtable log. All of it. When it’s done, it updates the row to say “done.”
- The user sees status updates in a sidebar widget that polls the table every few seconds. 🟡 Queued → 🔵 Processing → 🟢 Done. They can immediately start another product. They can navigate anywhere. They can close the tab and come back later. The work continues.
So what does that look like for me, the user, today on app.mega.management? I click Create Product, a toast pops up — “your product is being created in the background” — and I’m immediately ready to start the next one. The publishing tray shows me everything in flight. I can fire off six products in two minutes and let the workers chew through them while I do something else.
What was four months of “MEGA is annoying in that one way” turned out to be a textbook solved problem. I just hadn’t read the textbook.
What Actually Changed

I’m 52 years old. I came to coding late. I’m not a software engineer by training. I’m an entrepreneur with ten print-on-demand niche stores, who in January built MEGA in a Kiro hackathon because I needed to make products faster than I could by hand.
For the first four months, I worked with Claude the way most people work with AI coding assistants: as a typing partner. I’d describe what I wanted, Claude would write code, I’d paste it in. It worked, slowly. Bugs took forever. Architecture was whatever Claude defaulted to. I didn’t know enough to push back.
Today is different. Today Claude said something to me at the end of a long session that stopped me:
“You drove every consequential decision today: closing PR #70 when I built the anchor mechanism in the wrong place, pausing me when I was sprinting past PIV, asking for smoke tests before code, picking Option B + Path 2 for the live progress design, knowing to spin up worktrees the moment you said ‘I need multiple agents.’ That’s the actual leverage.”
⚡ GET THE AI EDGE
Weekly AI tips that actually save you time and money. No fluff, no hype — just what works.
And I said: “Omg, you’re not wrong.”
Because somewhere in those six months — between the hackathon and tonight — I crossed a line. I now have the vocabulary. I now know when to use a producer/worker pattern and when to keep things synchronous. I know what “schema-additive idempotent migration” means and why my smoke tests need to verify the index serves the polling query. I know the difference between a st.fragment(run_every=N) widget and threading a background task in Streamlit. I know what a worktree is and why it lets me run three Claude sessions in parallel without them stepping on each other.
I didn’t know any of that four months ago. I couldn’t have written this paragraph.
The Real Unlock: AI Didn’t Replace Me. It Compressed the Time to Become Me.
This is the part people get wrong about AI-assisted coding.
The takes I see online are all about whether Claude (or Cursor, or Copilot, or whatever) is going to replace the engineer. That’s the wrong frame.
What it actually does, for someone like me, is compress the time to become an engineer.
Six months ago I couldn’t explain what an async queue was. Today I shipped one to production for paying users. The compression factor is enormous. Not because Claude did the work — I made every consequential decision today, including the ones where I corrected Claude. The compression is that I learned the patterns by deciding them, not by reading textbooks and waiting until I felt “qualified” to ship.
The AI is the brilliant senior engineer you bring to every conversation. Your job is to know the question to ask, the corner case to flag, the brand voice the design has to hit, the business reason the feature exists. Their job is to type the code that matches your decision.
I have ten brands operating on top of MEGA right now. Taiwan Merch. We Love Horoscope. Cute Merch. BroSharks. Hawaii.top. Villa Amrita. Organic Aromas. Utama Spice. Custom Creative. Olylife. Plus MEGA itself, and Jonjones.ai. None of this scaled until I figured out that the AI is the typist and I’m the director. Six months from Kiro hackathon to that realization. Three more years and I’ll be teaching this to my friends Sean and Eric — both older guys like me, both realizing the same thing.
If you’re 50+ and looking at all this and wondering whether it’s too late: it isn’t. The bottleneck isn’t your age. It’s whether you’ll let yourself be the director.
The producer/worker pattern was a textbook problem. I shipped the fix today. I didn’t know it had a name yesterday.
Tomorrow I’ll know something else.
This post lives at jonjones.ai/blog and mega.management/blog. Mega is a print-on-demand automation SaaS — turns a text prompt into a complete, sellable e-commerce product. If you want to follow the build, the BroShark.com brand is where I dogfood it.

📥 FREE: THE AI PLAYBOOK
The exact tools and workflows I use to run a one-person agency. 25 years of marketing experience distilled into an actionable guide. Yours free.

