Connect Supabase to enable stats
Stats tracking needs a free Supabase database. Once connected, every board visit and card click is counted automatically — forever, cumulatively.
Quick setup guide1. Go to
supabase.com and create a free account
2. Click
New project3. Go to
Project Settings → API and copy your URL and anon key
4. Go to
SQL Editor and run the SQL below
5. Paste your details above and click Save
SQL to run in Supabase SQL Editor:CREATE TABLE IF NOT EXISTS board_visits (
board_id TEXT PRIMARY KEY,
visit_count BIGINT DEFAULT 0,
updated_at TIMESTAMPTZ DEFAULT NOW()
);
CREATE TABLE IF NOT EXISTS card_clicks (
id SERIAL PRIMARY KEY,
board_id TEXT,
card_id TEXT,
card_title TEXT,
click_count BIGINT DEFAULT 0,
updated_at TIMESTAMPTZ DEFAULT NOW(),
UNIQUE(board_id, card_id)
);
CREATE OR REPLACE FUNCTION increment_board_visit(p_board_id TEXT)
RETURNS VOID AS $$
BEGIN
INSERT INTO board_visits (board_id, visit_count)
VALUES (p_board_id, 1)
ON CONFLICT (board_id)
DO UPDATE SET visit_count = board_visits.visit_count + 1, updated_at = NOW();
END;
$$ LANGUAGE plpgsql;
CREATE OR REPLACE FUNCTION increment_card_click(p_board_id TEXT, p_card_id TEXT, p_card_title TEXT, p_link_label TEXT)
RETURNS VOID AS $$
BEGIN
INSERT INTO card_clicks (board_id, card_id, card_title, click_count)
VALUES (p_board_id, p_card_id, p_card_title, 1)
ON CONFLICT (board_id, card_id)
DO UPDATE SET click_count = card_clicks.click_count + 1, updated_at = NOW();
END;
$$ LANGUAGE plpgsql;
ALTER TABLE board_visits ENABLE ROW LEVEL SECURITY;
ALTER TABLE card_clicks ENABLE ROW LEVEL SECURITY;
CREATE POLICY "Allow all" ON board_visits FOR ALL USING (true) WITH CHECK (true);
CREATE POLICY "Allow all" ON card_clicks FOR ALL USING (true) WITH CHECK (true);
No changes recorded this session.
Archived cards 0
No archived cards yet. Archive a card using the Archive button on any card.