Every developer hosting side projects has hit this wall:
You deploy your portfolio, your demo app, your MVP. It works great. Then traffic dies down for a few hours, the platform puts your container to sleep, and the next visitor gets... nothing. A blank screen. A timeout. A broken first impression.
I kept hearing about this problem from developers using Render, Railway, and other platforms. The usual advice? "Just pay for always-on containers."
But that's $20-30/month per container for apps that get maybe 10 visits a day. For a portfolio? For a demo? That math doesn't work.
Cold starts happen because platforms need to be resource-efficient. When your app isn't getting traffic, they shut it down. Makes sense for them.
But when traffic comes back, starting a container takes 30-60 seconds. During that time, your visitor sees:
A blank screen
A timeout error
Nothing at all
They refresh once, assume it's broken, and leave. For a portfolio site, that might be a recruiter. For a demo, that might be a potential customer.
Instead of trying to eliminate cold starts (expensive) or ignoring them (bad UX), I asked: what if we just made them visible?
The idea:
Intercept requests at the edge before they hit the sleeping container
If the container is asleep, show a "waking up" page
Trigger the container to start
Auto-refresh when it's ready
Users don't mind waiting 15 seconds if they understand what's happening. They DO mind a timeout error.
I built this into SnapDeploy using Cloudflare Workers:
User clicks link → Cloudflare intercepts → Container asleep? ↓ YES → Show wake page NO → Route normally
The wake page is simple:
SnapDeploy branding
"Your app is waking up..."
Progress indicator
Auto-refresh when ready
The container still takes 10-30 seconds to start, but the user experience is completely different.
Before:
30-60 second blank screen
Users assume site is broken
Lost opportunities
After:
Instant feedback
Clear communication
Users wait for the actual app
Same infrastructure cost. Night and day difference in perception.
This pattern works great for:
Personal portfolios - Make a good impression even on a free tier
Side projects - Don't pay $20/month for something you're testing
MVPs - Validate ideas without burning credits
Internal tools - Admin dashboards that only get used occasionally
If you need instant response times for production APIs, you still need always-on containers. But for everything else? This is the answer.
I've made this the default behavior on SnapDeploy. Deploy any container, let it sleep, visit it—you'll see the wake page in action.
No more cold start anxiety. No more paying for idle containers.
Question for the community: How are you handling cold starts for your side projects?