Part 10: Getting It Live — Deploying AllBengal for Free
How to take AllBengal from your laptop to the real internet using free services.
The Goal: Ship It!
You've built an amazing blog platform. Now you want to show it to the world. The good news: you can do it for free (or very cheap).
The Challenge: Three Things Need To Run
- Frontend: The pretty website people visit
- Backend: The API that stores and retrieves posts
- Database: The storage for posts, users, images
Normally, each of these costs money to run. But we can use free services:
The Free Stack
Part 1: The Database (Supabase - Free)
Supabase hosts PostgreSQL for free.
Setup:
- Go to supabase.com
- Click "Create new project"
- Choose "Free" tier
- Give it a name: "allbengal"
- Supabase gives you a database URL
Store this URL as an environment variable:
SUPABASE_DATABASE_URL=postgres://[user]:[password]@[host]:5432/[database]?sslmode=require
Part 2: The Backend (Render.com - Free)
Render hosts your Python FastAPI server for free.
Setup:
- Go to render.com
- Sign in with GitHub
- Click "New" → "Web Service"
- Connect your GitHub repo
- Configure:
- Root Directory: backend
- Build Command: pip install -r requirements.txt
- Start Command: uvicorn main:app --host 0.0.0.0 --port $PORT
- Add environment variables (JWT_SECRET_KEY, SUPABASE_DATABASE_URL, etc.)
Result: Your backend runs at something like https://allbengal-backend.onrender.com
Part 3: The Frontend (Vercel - Free)
Vercel hosts your SvelteKit website for free.
Setup:
- Go to vercel.com
- Sign in with GitHub
- Click "New Project"
- Select your repo
- Configure:
- Framework: SvelteKit
- Root Directory: frontend
- Add environment variables (PUBLIC_API_BASE_URL pointing to Render backend)
Result: Your website is at something like https://allbengal.vercel.app
How They Connect
User opens browser
↓
Goes to https://allbengal.vercel.app (Vercel serves frontend)
↓
Browser shows you the pretty website
↓
You click "Write a post"
↓
Frontend sends request to https://allbengal-backend.onrender.com/api/...
↓
Backend talks to Supabase database
↓
Database returns your posts
↓
Backend sends JSON back to frontend
↓
Frontend shows your beautiful posts
Understanding The Free Tiers
Common Issues
Problem: "Database connection failed"
SUPABASE_DATABASE_URL is correct in environment variablesProblem: "Frontend can't reach backend"
PUBLIC_API_BASE_URL points to correct Render domainProblem: "Backend is slow (takes 30 seconds)"
Scaling as You Grow
Getting a Custom Domain
Your blog is at allbengal.vercel.app. Want allbengal.com?
- Buy domain from Namecheap, GoDaddy, or Google Domains (~$10/year)
- In Vercel, go to Settings → Domains
- Add your domain
- Follow Vercel's DNS instructions
- Done! Your blog is at your custom domain
The Bottom Line
Free deployment:
- ✅ Database on Supabase (free)
- ✅ Backend on Render (free)
- ✅ Frontend on Vercel (free)
- ✅ Custom domain ($10/year)
- ✅ Total cost: $10/year or FREE forever
You can ship a production-quality blog for literally nothing. Incredible!
Start building! What will you write about first?
