Connect your website.
Complete these steps in your own Supabase and Vercel dashboards. This guide never asks you to paste credentials or passwords into this page.
- 01
Create your Supabase project
Create or open Janak’s project, then copy its project URL and publishable (or anon) key from the Supabase project settings.
Open Supabase dashboard - 02
Prepare the portfolio database
In the Supabase SQL Editor, run the repository schema file
Keep public sign-ups disabled. The first owner is created through the protected setup flow.supabase/schema.sql. It creates the content tables, access policies, and one-time admin claim function. - 03
Add the server and browser settings to Vercel
Open the Janak project’s environment settings and add these names for Production. Use the Supabase URL/key and a server-only Supabase secret key. Generate the one-time setup code locally with
openssl rand -hex 32.Never prefix the Supabase secret or setup code withNEXT_PUBLIC_SUPABASE_URLNEXT_PUBLIC_SUPABASE_ANON_KEYSUPABASE_SECRET_KEYPORTFOLIO_ADMIN_SETUP_CODENEXT_PUBLIC_. Never put their values in source code, a browser form, or chat.Open Janak’s Vercel environment settings - 04
Redeploy, then create the owner account
Redeploy after saving the variables. Return here and open the admin page; the first-admin option appears when the server setup is ready. Enter the owner email, a new unique password, and the one-time setup code directly in the secure form.
Continue to secure admin setup - 05
Close the bootstrap window
After the first admin account is created, remove
Content editing is restricted by Supabase row-level security to registered portfolio admins.SUPABASE_SECRET_KEYandPORTFOLIO_ADMIN_SETUP_CODEfrom Vercel and redeploy. These bootstrap secrets are not needed for regular sign-in or editing.