SENLA Research Hub Ltd
Home About Blog Course Contact
The notebook

Notes from the field.

Research updates, field journals, and reflections from the SENLA team.

← All posts

Article title

Article subtitle / lead paragraph appears here.

E
Author name
5 min read
May 24, 2026
Author workspace · signed in as
Workspace

Your posts.

0
Published
0
Drafts
Local
Storage
0
All posts
Legacy article sync

Push the 4 legacy seed articles (Financial Literacy, Dietary Patterns, Entrepreneurship Education, Bootcamps) to your Supabase database for permanent storage.

Editing post · Saving locally
Ready

Connect Supabase & Google.

Paste your Supabase project's URL and anon (public) key below. Posts will be saved to your Supabase database — so they're not lost if you clear the browser — and Google sign-in will work through Supabase Auth.

Status: Not connected

One-time Supabase setup

  1. Create a free project at supabase.com.
  2. In SQL Editor, paste & run the table schema below.
  3. In Authentication → Providers, enable Google and add your Google OAuth client ID + secret (from console.cloud.google.com). Set the authorized redirect URI to the one Supabase shows you.
  4. In Settings → API, copy your Project URL and anon public key, and paste them above.

SQL schema

create table if not exists posts (
  id uuid primary key default gen_random_uuid(),
  title text not null,
  lead text,
  body text,
  cover text,
  category text,
  tags jsonb default '[]'::jsonb,
  author text,
  author_email text,
  author_avatar text,
  status text default 'draft',
  created_at timestamptz default now(),
  updated_at timestamptz default now()
);

alter table posts enable row level security;

-- Anyone can read published posts
create policy "read published" on posts
  for select using (status = 'published');

-- Authenticated users can read their own drafts; admin can read all
create policy "read own" on posts
  for select using (
    auth.jwt() ->> 'email' = author_email
    or auth.jwt() ->> 'email' = 'info@senlaresearchhub.com'
  );

-- Authenticated users can insert their own posts
create policy "insert own" on posts
  for insert with check (auth.jwt() ->> 'email' = author_email);

-- Authenticated users can update/delete their own posts; admin can update/delete any
create policy "update own" on posts
  for update using (
    auth.jwt() ->> 'email' = author_email
    or auth.jwt() ->> 'email' = 'info@senlaresearchhub.com'
  );
create policy "delete own" on posts
  for delete using (
    auth.jwt() ->> 'email' = author_email
    or auth.jwt() ->> 'email' = 'info@senlaresearchhub.com'
  );

Your URL and anon key are stored only in your browser (localStorage). The anon key is safe to expose publicly — Row Level Security (above) controls what each user can do.

Saved

Embed a video

Paste a YouTube, Vimeo, or Google Drive link

Supported: youtube.com · youtu.be · vimeo.com · drive.google.com