The build · findhotstuff.com

A store that restocks and posts itself.

I'm Matthew Ferreira, in Memramcook, New Brunswick. I'm not a developer. I built an automation engine that runs an online store and a social-media service — and it has not missed a day since it switched on.

This page is the honest version of what that means: what the system actually does, what it runs on, what it cost, and what I did versus what the machine did. Every number here is checkable on the live sites — that's the point of publishing it.

The problem I was actually solving

Local businesses around here go quiet online. Not because owners don't care — because posting every day is a job nobody hired for. I noticed it first in my own store: I'd build something, promote it for a week, then work would swallow the time and the page would go still.

So instead of trying harder, I removed myself from the loop. If the posting can't depend on me remembering, it has to run without me.

What it does, unattended

What it runs on

GitHub Actions for scheduling, GitHub Pages for hosting, a Cloudflare Worker with KV storage for payments and leads, Python for the engines, Stripe for money, GoatCounter for privacy-friendly analytics. Roughly 6,500 lines of Python across 28 modules and 13 scheduled workflows.

Operating cost: $0/month. Every piece sits inside a free tier on purpose — a pre-revenue business shouldn't have a burn rate.

The part I'm actually proud of: it can't lie

Supplier product titles are keyword soup, so early on the system "prettified" names from a hand-written table — and it sold a roll of wallpaper under the name "Cozy 2-in-1 Pet Bed." A customer would have paid for a bed and received wallpaper.

The fix wasn't a better table. It was a rule enforced in code: a display name may only reorder, trim or re-case words that appear in the real supplier title. Anything else is rejected automatically. The same discipline applies to marketing claims — when the store's X posting was paused, every "posts 3× a day" line came down the same day, including the ones on slides nobody was checking.

Marketing copy that a validator can reject is an unusual thing to build. I'd rather have it than the extra sale.

What I did, and what the machine did

Worth being precise, because it's the interesting part. I did not hand-write those 6,500 lines. I designed the system, made every product and business decision, tested it, broke it, found the failures — the wallpaper, a stale claim on a slide, a scheduler that silently skipped three jobs in one morning — and decided how each one should be fixed. The code was written in partnership with an AI assistant, working from those decisions.

That's the skill I'd claim: not typing Python, but specifying a system precisely enough that it does the right thing unattended, then noticing when it doesn't. The failures above were all caught by looking, not by alerts.

What it's for

The store is one half. The other is East Coast Social — the same engine, pointed at local businesses so their pages post daily without them lifting a finger. The store is the proof it works: I ran it on myself first, in public, with a counter anyone can check.

Want the engine pointed at your business?

Free sample week first — you see your page running before paying anything. Then $79/month CAD, no contracts.

See East Coast Social Book a call

Written up in detail

The specific problems behind the system above — what the stack actually costs, why a product name has to pass a validator, and why a 2× markup loses money on a dropshipped order — are written up in Notes.

Hiring, or building something similar?

Happy to talk about how any of this was put together — the automation, the honesty constraints, or running it solo around a full-time job.

Email me