Team task scheduler backed by Supabase. Owners, recurrence, deadlines — color-coded and ranked by priority. Every change is saved to your database.
High Medium Low⚑ = deadline
Connecting…
Enter team password
This calendar is locked. Enter the password your team shared with you.
Owner setup — lock this calendar
Choose a team password. Your Supabase credentials are encrypted with it, so the file never exposes your key and only people with the password can use the calendar.
1) Replace the empty ENC_CONFIG line in the file with this:
2) (Recommended) blank the SUPABASE_URL and SUPABASE_ANON_KEY lines so the key isn't in the file. 3) Re-upload to Cloudflare and share the link + password with your team.
Connect your Supabase project
One-time setup. Your data lives in your own Supabase database — shared across everyone who opens this tool with the same project.
Step 1 — Create the table
In Supabase → SQL Editor, run this once:
create table if not exists public.tasks (
id uuid primary key default gen_random_uuid(),
name text not null,
assignee text,
date_given date,
deadline date,
freq_type text default 'preset',
freq_preset text,
freq_number int,
priority text default 'medium',
done boolean default false,
skip_sat boolean default false,
skip_sun boolean default false,
created_at timestamptz default now()
);
alter table public.tasks enable row level security;
create policy "team read" on public.tasks for select using (true);
create policy "team write" on public.tasks for insert with check (true);
create policy "team update" on public.tasks for update using (true) with check (true);
create policy "team delete" on public.tasks for delete using (true);
create table if not exists public.holidays (
id uuid primary key default gen_random_uuid(),
day date not null unique,
label text,
created_at timestamptz default now()
);
alter table public.holidays enable row level security;
create policy "h read" on public.holidays for select using (true);
create policy "h write" on public.holidays for insert with check (true);
create policy "h delete" on public.holidays for delete using (true);
create table if not exists public.completions (
id uuid primary key default gen_random_uuid(),
task_id uuid not null references public.tasks(id) on delete cascade,
day date not null,
created_at timestamptz default now(),
unique (task_id, day)
);
alter table public.completions enable row level security;
create policy "c read" on public.completions for select using (true);
create policy "c write" on public.completions for insert with check (true);
create policy "c delete" on public.completions for delete using (true);
Step 2 — Paste your project keys
Supabase → Project Settings → API. Copy the Project URL and the anon public key.
Loading tasks from Supabase…
Add a task
All fields help place it on the calendar
Editing existing task — save to update.
Frequency
times total — spread evenly between start & deadline
Deadline
Skip days (possible leaves)
Priority
Leaves & holidays
All tasks skip these dates
People
Tap a person to see their tasks
—
Filter
Sun
Mon
Tue
Wed
Thu
Fri
Sat
Ongoing 0
Active & in progress — by priority
Due today 0
Deadline is today
Completed 0
Done today & finished — Undo to reopen
Today 0
All assigned 0
Delete all tasks
This permanently deletes 0 task(s) from the database for everyone. To proceed, type Confirm below.