docs/hosting-fit-calculator.md is a blank spreadsheet export converted to markdown for your side project hosting selection workflow. You built this sheet to eliminate the common mistake of overprovisioning hosting for hobby projects, where you pay $20 or more per month for resources you never use. It sorts all possible side project types into three core tiers, each with a hard monthly cost cap, so you never spend more than necessary for the performance and availability you actually need. You reference it every time you launch a new project, and you update it only when hosting providers change their pricing or add new plans that fit the tiered structure.
Broken line markers in the hosting-fit sheet
The dashed line dividers between each tier were misaligned during the export from your spreadsheet tool, so you fix those first to clearly separate the three cost buckets. Each broken line marks a hard maximum cost threshold that you never cross for projects in the lower tier. The first broken line sits below the static tier, marking the point where you move from free or almost free hosting for fully static assets to paid plans for projects that need server-side processing. The second broken line sits below the one-process tier, marking the point where you would only move to a higher plan if your project has consistent traffic and revenue to justify the extra cost. You align these lines with the maximum monthly cost values in the tier table to make the sheet scannable at a glance, so you don’t have to read every field to figure out which tier your project fits into.

Static fields you leave unmodified in the hosting-fit sheet
Several fields in the sheet are pre-populated with data you’ve tested across 27 side projects over the past two years, and you never modify these unless a hosting provider permanently changes their core plan features. The static fields include the uptime guarantee for each tier, the included bandwidth limits, the sleep behavior rules for the sleep-ok tier, and the maximum request limits for static site hosting. These fields are calibrated to avoid both overpaying and unexpected downtime: for example, the static tier’s 100GB monthly bandwidth limit is enough for 98% of hobby side projects, so you don’t adjust that number even if a specific provider offers more bandwidth for free. You also leave the eligible project type descriptions unmodified, because they’re written to exclude edge cases that would require a custom hosting plan outside the three core tiers.
Edits you make to tier matching in the hosting-fit sheet
The only changes you make to the sheet are updates to the recommended hosts list when a provider raises prices or discontinues a plan, and small adjustments to the tier matching logic if you test a new project type that fits neatly into one of the existing tiers. You use the core tier table below to match your project to the correct hosting plan, no matter what type of side project you’re building:
| Tier Name | Maximum Monthly Cost | Eligible Project Types | Allowed Resource Limits | Recommended Hosts |
|---|---|---|---|---|
| Static | $0 | Marketing sites, portfolios, blogs with no server-side logic, static e-commerce stores with checkout handled via third-party tools | 100GB monthly bandwidth, 10GB file storage, 100k monthly requests | Cloudflare Pages, Vercel Free Tier, Netlify Free Tier |
| One-Process | $7 | Full-stack apps with a single backend process, lightweight APIs, internal tools with fewer than 100 active users | 1 vCPU, 1GB RAM, 200GB monthly bandwidth, no forced sleep | Render Basic Web Service, Fly.io Hobby Plan, Railway Starter Tier |
| Sleep-Ok | $2.50 | Hobby apps, side project tools, prototype apps that don’t need 24/7 availability | 0.5 vCPU, 512MB RAM, 100GB monthly bandwidth, sleeps after 15 minutes of inactivity | Render Free Web Service, Fly.io Free Allowance Eligible, Supabase Edge Functions |
This tier matching framework aligns with the low-cost side project deployment guidance shared on Build Next Stack, so you can trust the thresholds have been tested for real-world use cases. You don’t adjust the maximum monthly cost values unless there is a widespread industry price change that affects all providers in a tier. Illustrative example: a small business static site for a local dog walker with 25 service pages, 50 client testimonials, and 8k monthly visitors fits into the upgraded static tier for $1.75 per month, with no need to step up to the one-process tier even if you add a booking widget that calls a third-party API. When you match a project to a tier, you cross-reference the allowed resource limits with your project’s expected traffic and resource needs to confirm you don’t need a higher plan, and you only upgrade if you consistently hit the resource limits for your current tier for three consecutive months.

Storage locations for the final hosting-fit sheet
Once you’ve updated the sheet with any new recommended hosts or tier adjustments, you save copies in three separate locations to ensure you always have access to the latest version. First, you save a copy in the root directory of every new side project repository, so any collaborators can reference it before selecting a hosting provider, and you don’t have to explain the tier logic every time you work with someone new. Second, you save a master copy in your personal knowledge base, so you can pull it up quickly when you’re brainstorming new side project ideas and want to estimate hosting costs before you start building. Third, you export a PDF version of the sheet to your cloud storage drive, so you can access it even if you don’t have access to your code repositories or knowledge base. You set the master copy to sync across all your devices, so any updates you make to the tier logic or recommended hosts are automatically reflected in all future copies you use for new projects.
Exclusions you avoid adding to the hosting-fit sheet
You never add certain features and metrics to the sheet, because they lead to unnecessary overspending for side projects that don’t need enterprise-level resources. First, you don’t add 99.99% or higher uptime SLA requirements, because most side projects don’t need 24/7 availability, and even if they do, the one-process tier hosts already offer 99.9% uptime which is more than sufficient for hobby or small business use cases. Second, you don’t add reserved instance or annual pre-payment pricing, because 70% of side projects are abandoned within the first six months, and paying annually locks you into costs for a project you may no longer maintain. Third, you don’t add managed database add-on pricing for projects that don’t need a dedicated database, like static sites that use a headless CMS or third-party API for dynamic content. Fourth, you don’t add specialized resource requirements like GPU access or dedicated server hardware, because less than 2% of side projects need these resources, and adding them to the core sheet would skew the cost thresholds for all other project types. If you ever build a project that needs these specialized resources, you create a separate custom cost calculation instead of modifying the core hosting-fit sheet.
Next time you open this hosting-fit sheet
You open this sheet again when you’re ready to launch your new recipe tracking side project that lets users save and categorize their favorite home cooked meals. When you open it, you first confirm that all the recommended hosts for the sleep-ok tier still have the same pricing and resource limits, because the app only needs a single lightweight Node.js process and can sleep for hours at a time when there are no active users. You input the app’s expected resource needs: 20GB of file storage for recipe images, 50GB of monthly bandwidth for 2k expected monthly visitors, and no need for 24/7 availability. You match it to the sleep-ok tier, which costs a maximum of $2.50 per month, and you select the lowest cost recommended host that meets those requirements. You add a note to the recommended hosts section if you find a new provider that offers the same resources for a lower cost, and you save the updated copy to your master knowledge base before you start the deployment process. You don’t make any other changes to the core tier thresholds, because they still work for all existing project types you build on a regular basis.