Free services can remove a lot of early cost from a side project, but the useful tiers are not all the same. Some are permanent, some pause when limits are reached, and some are only trials. This guide compares current options by workload, with the limits that matter most for an indie developer.[1][2][3][4]
Treat every figure below as a snapshot from the provider's pricing page, not a lifetime promise. Check the current page before signing up, especially for commercial eligibility, overages, data residency, and support terms.[6][7][8][9]
Hosting and deployment
| Service | Free allowance | Best fit | Watch out for |
|---|---|---|---|
| GitHub Pages | Static sites, 1 GB repository, 100 GB/month bandwidth | Docs, portfolios, static sites | Not a server-side application host |
| Vercel Hobby | 100 GB fast transfer, 4 active vCPU-hours, 1M function invocations, 10 GB Blob transfer | Next.js and React prototypes | Personal and non-commercial use only |
| Cloudflare Pages | 500 builds/month, 20,000 files per deploy, 100 projects | Static sites with fast global delivery | Serverless functions use the Workers limits below |
| Netlify Free | 100 GB bandwidth, 300 build minutes, 125k function invocations, 10 GB storage | Static sites and small functions | Check current team and commercial terms |
| Render Free | 750 web-service hours/month, 512 MB RAM; free Postgres at 1 GB with 30-day retention | Small SaaS prototypes | Free services spin down after inactivity |
| Fly.io | Trial allowance of 2 VM hours or 7 days; no permanent free tier | Testing Docker deployments | Usage becomes billable after the trial |
| Railway | $5 trial credit, then a $1/month minimum for eligible services | Short-lived prototypes | Not a permanent free tier |
| Oracle Cloud Always Free | ARM Ampere A1 instances with up to 4 OCPUs and 24 GB RAM | Always-on self-hosted services | Capacity can be constrained by region |
For a static site, GitHub Pages or Cloudflare Pages is usually the simplest choice. For a full-stack prototype, compare Vercel, Render, and Cloudflare Workers instead of assuming that a free hosting allowance also includes a free database.[1][2][3][6]
Databases and storage
| Service | Free allowance | Best fit | Watch out for |
|---|---|---|---|
| Supabase | 500 MB database, 50k monthly active users, 1 GB file storage, 5 GB egress, 2 projects | Postgres, authentication, and realtime | Projects can pause after inactivity |
| Neon | 500 MB storage, 100 CU-hours, and 100 projects; scale-to-zero after idle | Serverless Postgres and branching | Cold starts and project limits still apply |
| MongoDB Atlas M0 | 512 MB storage, shared RAM, one cluster per project | Document databases and prototypes | Shared infrastructure and sleep behavior |
| Turso | 100 databases, 5 GB storage, 500M row reads, and 10M row writes per month | SQLite at the edge | Verify locality and overage pricing |
| Cloudflare R2 | 10 GB storage, 1M Class A operations, 10M Class B operations, and free egress | S3-compatible object storage | Operation types still have separate limits |
| Cloudflare D1 | 5 GB storage per database, with a 100k rows-written/day limit on the Workers Free plan | Workers-integrated SQLite | The write limit depends on the Workers plan |
| Upstash Redis | 256 MB data, 500k commands/month, and 10 GB bandwidth | Serverless caching and rate limits | Command and bandwidth limits can be reached quickly |
| Backblaze B2 | 10 GB storage, 1 GB download/day, and 2,500 Class B transactions/day | Backups and S3-compatible storage | Storage, egress, and transactions are separate costs |
Supabase is convenient when authentication, Postgres, and realtime behavior matter. Neon is a better fit when serverless Postgres and branching are more important than a larger bundled storage allowance.[10][11][12][13]
Email and notifications
| Service | Free allowance | Best fit | Watch out for |
|---|---|---|---|
| Resend | 3,000 emails/month, 100/day, and 3 domains | Transactional notifications | Domain verification and daily limits |
| Brevo | 300 emails/day and 5,000 contacts on the free plan | Transactional mail and small campaigns | Marketing and transactional quotas are shared |
Use a transactional provider for password resets, receipts, and account events. Use a marketing platform only when you also need audience management, campaigns, and consent controls.[18][19]
Monitoring and analytics
| Service | Free allowance | Best fit | Watch out for |
|---|---|---|---|
| Sentry Developer | 5,000 errors/month, 50 replays, 5M spans, and one user | Error tracking and performance traces | Team seats and retention can require an upgrade |
| UptimeRobot | 50 monitors with five-minute checks | Simple uptime checks | Check commercial-use terms before relying on it |
| PostHog Free | 1M events/month, session replay, and funnels | Product analytics and feature flags | Event volume and replay storage grow with usage |
| Cloudflare Web Analytics | Free forever, privacy-focused, no cookies, and no retention limit shown on the pricing page | Low-friction traffic analytics | Feature depth is smaller than a full product analytics suite |
| Google Analytics 4 | Free web analytics with funnels and audience segments | Established web measurement | Privacy, consent, and data-retention settings need review |
Sentry is useful as soon as a prototype starts failing in production. Pair it with a lightweight uptime check and choose analytics based on whether you need product funnels or only traffic and conversion signals.[20][21][22][23][24]
AI and developer tools
| Service | Free allowance | Best fit | Watch out for |
|---|---|---|---|
| Google Gemini API | 1,500 Flash requests/day, 1M tokens/minute, 15 RPM, and a $250 monthly spending cap for Tier 1 | Multimodal prototypes | Pro models are not included in the free tier |
| Groq | Rate-limited access to free models | Fast inference experiments | Limits vary by model and account |
| OpenRouter | Free models with a 20 requests/minute and 50 requests/day shared limit | Comparing models through one API | Availability and quota sharing can change |
| Cloudflare Workers AI | 10,000 Neurons/day | Edge inference experiments | Neuron pricing and model availability differ by region |
| GitHub Actions | 2,000 minutes/month and 500 MB artifact storage on public repositories | CI and automation | Self-hosted runners and private-repository usage have separate terms |
| SonarCloud | Free for open-source projects | Static code analysis | Private-project limits apply |
For a small AI feature, start with one provider and one model family. Keep prompts, output parsing, retries, and token accounting explicit so a free-tier limit does not become a production outage.[25][26][27][28]
How to choose
- Commercial use: Confirm that the plan permits your intended use. Vercel Hobby is limited to personal and non-commercial projects.[1]
- Zero idle cost: Prefer services that pause or scale to zero, such as Neon, rather than a VM that bills while idle.[11]
- Predictable billing: Set provider spend limits and alerts before connecting a real domain or payment method.[1][6]
- Data portability: Keep exports and backups outside the provider so a limit change does not trap your project.
- Production readiness: Free does not imply a production SLA, dedicated support, or unlimited retention.
Practical starter stacks
- Static site: GitHub Pages or Cloudflare Pages plus Cloudflare Web Analytics.
- Small SaaS: Render or Vercel plus Supabase, Resend, Sentry, and PostHog.
- Edge application: Cloudflare Workers and Pages plus R2, D1, and Upstash.
- Always-on lab: Oracle Cloud Always Free with a database you can export and back up yourself.
- AI prototype: One LLM provider, a small cache, structured logging, and a hard usage budget.
Before you connect a real service
- Confirm the plan's commercial-use terms and current limits.
- Set a spend limit or budget alert where the provider supports it.
- Export the schema, objects, and configuration independently of the provider.
- Test what happens when a limit is reached: queue, reject, pause, or bill.
- Document the provider, region, retention period, and rollback owner.
Sources
- Vercel Hobby Plan — vercel.com/docs/plans/hobby
- Cloudflare Pages Limits — developers.cloudflare.com/pages/platform/limits/
- Cloudflare Workers Limits — developers.cloudflare.com/workers/platform/limits/
- Netlify Free Plan — netlify.com/blog/introducing-netlify-free-plan/
- GitHub Pages — docs.github.com/en/pages
- Render Free Plan — render.com/docs/free
- Fly.io Free Trial — fly.io/docs/about/free-trial/
- Railway Pricing — railway.com/pricing
- Oracle Cloud Always Free — oracle.com/cloud/free/
- Supabase Pricing — supabase.com/pricing
- Neon Pricing — neon.com/docs/introduction/plans
- MongoDB Atlas Pricing — mongodb.com/pricing
- Turso Pricing — turso.tech/pricing
- Cloudflare R2 Pricing — developers.cloudflare.com/r2/pricing/
- Cloudflare D1 and Workers Pricing — developers.cloudflare.com/workers/platform/pricing/
- Upstash Redis Pricing — upstash.com/docs/redis/overall/billing
- Backblaze B2 Pricing — help.backblaze.com
- Resend Pricing — resend.com/pricing
- Brevo Pricing — help.brevo.com
- Sentry Pricing — sentry.io/pricing/
- UptimeRobot Pricing — uptimerobot.com/pricing/
- PostHog Pricing — posthog.com/product-analytics/pricing
- Cloudflare Web Analytics — cloudflare.com/web-analytics/
- Google Analytics — marketingplatform.google.com/about/analytics/
- Google Gemini API Pricing — ai.google.dev/gemini-api/docs/pricing
- Groq Rate Limits — console.groq.com/docs/rate-limits
- OpenRouter Pricing — openrouter.ai/pricing
- Cloudflare Workers AI Pricing — developers.cloudflare.com/workers-ai/platform/pricing/
- GitHub Actions Billing — docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions
- SonarCloud Pricing — sonarcloud.io/pricing
Contribute
Found an outdated service or missing tool? Open a pull request with the service name, official link, current free limits, trade-offs, and best use case.