Skip to content
← Blog

June 26, 2026

The 30-Minute Product

Working on a side project part-time means you're always doing triage. You know what's wrong. You just never have a long enough window to fix it properly.

The version of Canadeal in my head is better than the one that exists. I think about that more than I should.

The real one works. It finds deals, aggregates them, posts them. People use it. But there are things I know about — the Costco feed occasionally double-posts the same deal when the page HTML changes mid-crawl. The T&T tracker silently drops items when the store updates its product URL structure, which I only catch by checking the database manually. There's a deal card layout on mobile where the store name gets truncated before you can read it on screens under 390px — I haven't traced whether it's a CSS flex issue or something upstream in the data model. And Canadeal's price history graph: the data pipeline writes historical prices to the database correctly, but the front-end chart only renders the last seven days because I hardcoded the range as a placeholder and never went back to wire up the date picker I already built.

I know exactly what's wrong. I just never have a long enough window to fix any of it properly.

What 30 minutes actually looks like

I work at Memory Express during the day. By the time I'm home, the real window for building is maybe 30 minutes. Sometimes an hour if I'm lucky. A 30-minute session looks like this: I open the repo, spend four minutes remembering where I left off, find the issue I filed for myself, make one change, run it locally, decide it probably works, push it, close the laptop. I haven't written a test. I haven't checked whether the fix breaks anything adjacent. I haven't thought about whether this is the right fix or just a fix.

A full Saturday morning looks like: I read through the last two weeks of commits, I understand the state of the thing, I fix the actual problem instead of the surface symptom, I write something down about why so I don't have to re-derive it in six weeks. I write one error handler that actually surfaces the failure instead of swallowing it. I read through recent user sessions and notice the pattern before it becomes a complaint. I write one test that would have caught the Costco double-post the same day I introduced it. None of that shows up in a commit message anyone reads. But it's the difference between software that works and software that holds.

Also: in 30 minutes you can fix a bug, or spend 20 minutes realizing it's actually three bugs, and run out of time.

The projects I've stopped feeling bad about

I have five projects live right now — Canadeal, the Flashfood Deal Finder, the T&T Price Tracker, GoLink, an AI Resume Builder. Canadeal is the one I think about the most. The others are running fine, which mostly means I've stopped feeling bad about them.

They work. They run. Nobody's complained about anything breaking in a while. That should feel like more than it does.

The frustrating thing is the knowing. The mobile truncation bug — I know exactly what the fix is. It would probably take 45 minutes of uninterrupted time. I have not had 45 uninterrupted minutes to spend on this in three months. That's the specific torture of building on the side: you're never blocked by not knowing. You're blocked by not having a long enough window to do the thing you already know how to do.

The math question

Full-time is the obvious answer. I think about it more than is probably useful. Canadeal has no revenue model yet. The T&T tracker has maybe 200 active users. Memory Express pays reliably. I'd need to see something like two or three months of consistent revenue — even $500 a month — before I could seriously model a transition. I don't have that number yet, and if I'm honest, I haven't made it enough of a priority to get there, which is its own thing I think about.

Stable is hard to walk away from. Even when you can see exactly what you'd do with the time.

The version in my head is still better than the version that exists. Some days that feels fine. Other days I open the project and just close it again.