Dotish Labs
<- Back to field guides

Field Guide

Use Supabase to Make Websites Feel Alive

Add real data without turning a small website into a heavy system.

A beginner guide to using Supabase for tables, Row Level Security, anonymous feedback, client reads and writes, and safe fallbacks.

Steps from the workbench

01

Choose one useful interaction

Pick a small data-backed feature such as feedback, waitlist signups, comments, saved prompts, or guide progress.

What to check

The database feature has a clear purpose and does not require user accounts for the first version.

02

Design the table around the workflow

Keep columns plain and validate lengths, allowed values, and required fields in the database.

What to check

The table can reject malformed rows even if a client-side check is bypassed.

03

Turn on Row Level Security

RLS should be enabled before public clients use the table. Policies should describe exactly who can read, insert, or update.

What to check

Anonymous visitors can only do the actions the public UI truly needs.

04

Use the public key carefully

Supabase publishable or anon keys are meant for browser use, but they are only safe when RLS policies are correct.

What to check

No service role key or private secret is exposed to the browser.

05

Keep the site demoable

For simple public experiments, consider a local fallback so the UI still works before Supabase is connected.

What to check

The feature degrades clearly when environment variables are missing.

Prompts to adapt

Design a safe table

Design a Supabase table for [feature]. Include columns, constraints, indexes, and RLS policies for anonymous public use. Explain what each policy allows and what it blocks.

Audit RLS

Review these Supabase policies for accidental public writes, overbroad reads, missing validation, and abuse risk. Suggest safer policies for a public website.