No satellite view? Draw your plan manually — interior railings, pool fences, custom layouts.
logos in your Supabase project.
Each team member gets their own email + password. Roles: Owner (full access + restore), Admin (all tabs), Sales (CRM only).
Snapshots are auto-taken before any lead deletion. You can also take a manual snapshot at any time. Up to 30 snapshots are kept.
| Date ↕ | Contact ↕ | Quote | Value ↕ | Status | Assignee | Next Follow-up | Actions |
|---|
| Rep | Leads | Quoted | Won | Close % | Revenue |
|---|
{{name}} {{quote}} {{address}} {{company}}Why you need this: Settings are saved in this browser only by default. Connect Supabase once and every device instantly sees your company name, prices, and colors.
One-time setup (5 min, free forever):
CREATE TABLE app_config (id TEXT PRIMARY KEY DEFAULT 'main', data JSONB NOT NULL, updated_at TIMESTAMPTZ DEFAULT now());
INSERT INTO app_config (id, data) VALUES ('main', '{}');
ALTER TABLE app_config ENABLE ROW LEVEL SECURITY;
CREATE POLICY "read" ON app_config FOR SELECT USING (true);
CREATE POLICY "write" ON app_config FOR UPDATE USING (true);
CREATE TABLE crm_leads (id TEXT PRIMARY KEY, data JSONB NOT NULL, updated_at TIMESTAMPTZ DEFAULT now());
ALTER TABLE crm_leads ENABLE ROW LEVEL SECURITY;
CREATE POLICY "read" ON crm_leads FOR SELECT USING (true);
CREATE POLICY "insert" ON crm_leads FOR INSERT WITH CHECK (true);
CREATE POLICY "update" ON crm_leads FOR UPDATE USING (true);
CREATE POLICY "delete" ON crm_leads FOR DELETE USING (true);
-- Planning data (teams, customers, weekly plans, AI learning) — shared across all devices
CREATE TABLE planning_data (id TEXT PRIMARY KEY, data JSONB NOT NULL, updated_at TIMESTAMPTZ DEFAULT now());
INSERT INTO planning_data (id, data) VALUES ('planning_main', '{}');
ALTER TABLE planning_data ENABLE ROW LEVEL SECURITY;
CREATE POLICY "read" ON planning_data FOR SELECT USING (true);
CREATE POLICY "insert" ON planning_data FOR INSERT WITH CHECK (true);
CREATE POLICY "update" ON planning_data FOR UPDATE USING (true);