What you get
Your site live on your domain, with a production database, automatic deploys every time you push, and the background jobs (reminders, the advisor, the weekly digest) running on schedule.
Steps
- GitHub: create a private repository and push the code to it.
- Supabase: create a project in the region closest to your customers. Under Project Settings → Database → Connection string, copy the Transaction pooler string and put your password in it.
- On your computer, set it as
DATABASE_URLin.env.localand runnpm run db:migrateto create the tables. - Vercel: Add New → Project, import the repository, and keep the defaults.
- Settings → Environment Variables: add everything from
.env.local. ChangeNEXT_PUBLIC_SITE_URLto your real address andDATABASE_URLto the Supabase string. - Settings → Domains: add your domain, then deploy.
Background jobs that run more than once a day (Gmail, reminders, coding agents) need Vercel Pro. On the free plan, set them to daily in vercel.json.
Check it works
Open your site, sign in with your email, and open /admin with your admin password.
What the video covers
- Creating the GitHub repository and pushing
- Copying the right Supabase connection string (the pooler, not the website address)
- Importing to Vercel and pasting the environment variables
- Adding the domain and watching the first deploy