Add your project URL and anon key below, then save. These come from your Supabase dashboard under Settings → API.
Run this SQL in your Supabase SQL editor to create the tables:
-- KCC Learning Academy tables
create table if not exists public.kla_profiles (
id uuid primary key references auth.users(id) on delete cascade,
full_name text, email text, role text default 'counselor',
supervisor_id uuid references public.kla_profiles(id),
created_at timestamptz default now()
);
create table if not exists public.kla_modules (
id uuid primary key default gen_random_uuid(),
order_index int not null, title text not null,
description text, estimated_mins int default 30,
created_at timestamptz default now()
);
create table if not exists public.kla_lessons (
id uuid primary key default gen_random_uuid(),
module_id uuid references public.kla_modules(id) on delete cascade,
order_index int not null, title text not null,
content text, reflection_prompt text,
created_at timestamptz default now()
);
create table if not exists public.kla_progress (
id uuid primary key default gen_random_uuid(),
user_id uuid references auth.users(id) on delete cascade,
lesson_id uuid references public.kla_lessons(id) on delete cascade,
reflection text, completed_at timestamptz,
unique(user_id, lesson_id)
);
create table if not exists public.kla_feedback (
id uuid primary key default gen_random_uuid(),
supervisor_id uuid references auth.users(id),
counselor_id uuid references auth.users(id),
note text, readiness text default 'not_ready',
created_at timestamptz default now()
);
alter table public.kla_profiles enable row level security;
alter table public.kla_modules enable row level security;
alter table public.kla_lessons enable row level security;
alter table public.kla_progress enable row level security;
alter table public.kla_feedback enable row level security;
create policy "profiles_self" on public.kla_profiles for all using (id = auth.uid());
create policy "profiles_sup" on public.kla_profiles for select using (supervisor_id = auth.uid() or (select role from public.kla_profiles where id = auth.uid()) = 'supervisor');
create policy "modules_read" on public.kla_modules for select using (auth.role() = 'authenticated');
create policy "lessons_read" on public.kla_lessons for select using (auth.role() = 'authenticated');
create policy "progress_own" on public.kla_progress for all using (user_id = auth.uid());
create policy "progress_sup" on public.kla_progress for select using ((select role from public.kla_profiles where id = auth.uid()) = 'supervisor');
create policy "feedback_all" on public.kla_feedback for all using (supervisor_id = auth.uid() or counselor_id = auth.uid());
Kindred Learning Academy
Kindred Connections Counseling
New here? Your supervisor will send you an invite.
Kindred Learning
KCC
?
—
New counselor pathway
Good to see you, friend.
Work through each module at your own pace. Your supervisor can see your progress and leave feedback along the way.
Your pathway
KCC New Counselor Onboarding
0 of 0 lessons complete
Your Role Training
Clinical Practice Track
0 of 0 lessons complete
Lessons
—
Reflect
Supervisor
Your team
Track each counselor's progress through the onboarding pathway.
Module progress
Reflections
Supervisor notes
Readiness status
Training track
Unlocks once Core Training is complete.
Previous notes
Admin
Admin Dashboard
Manage staff accounts, review signed acknowledgments, and see team-wide training progress.