DEPLOY-PLAN-01
Deploy & wire · read first

Put it live, wire the data to read, and hand Errick the keys.

The surfaces are built and seeded. The first move isn't a big-bang launch — it's standing them up on staging, connecting them to a real Supabase backend in read-only mode, and putting Errick Jones in the driver's seat so he sees live Custom Image data before anyone can change a thing. Writes come next, gated.

01 The driver's seat

Errick Jones gets the first login.

One owner account, read access across the whole platform. Errick can open any surface and see real numbers — enrollment, cohorts, outcomes, funding — without the risk of editing live records while we're still wiring.

EJ

Errick Jones

Custom Image · owner account · co-pilot to the platform

Errick drives; the platform is his co-pilot. He logs in once and every surface is his to read — the public site, the applicant pipeline, the instructor and admin views, scheduling, and the accreditation evidence. DRGx builds and runs the engine behind him.

Errick can — now (read)

  • See live enrollment, cohorts & completion in OPS
  • Read the applicant pipeline & referral sources
  • View instructor cohorts & rosters
  • Open the WASC evidence map & self-study status
  • Verify any certificate from the public page

Comes next — gated (write)

  • ·Accept applicants & enroll students
  • ·Take attendance & pass submissions
  • ·Issue certificates & log donations
  • ·Create cohorts & resolve schedule conflicts
  • ·Edit curriculum & accreditation records
02 Where it goes

Staging now, production when Errick says go.

Step 1 · staging

DRGx client work

All surfaces deployed behind a single staging index. Private link for Errick & the board to click through.

drgx.studio/customimage
Step 2 · the school

Public site

The marketing site & certificate verify go live on the school's domain — the front door.

customimage.org
Step 3 · the system

The apps

Student, instructor, admin, scheduling & accreditation behind login on a subdomain.

app.customimage.org
03 The read-wiring map

What each surface reads, and who's allowed.

Every surface stops using seeded data and starts reading from Supabase. Public surfaces read anonymously; everything else requires Errick's authenticated session. No writes yet — these are read-only views and policies.

SurfaceReads (Supabase)Access
MKT · siteprograms, courses, modulesanon read
MKT · verifycertificates (code → name, trade, date)anon read
ENR · pipelineapplicants, cohorts, referral_sourcesErrick read
OPS · adminstudents, cohorts, instructors, donations, certificatesErrick read
INS · instructorcohorts, enrollments, sessions, submissionsErrick read
APP · studentenrollment, module_progress, sessionsErrick read
SCH · schedulingrooms, equipment, cohort_sessionsErrick read
ACC · accreditationstandards, slos, evidence, self_studyErrick read
Read-only means safe-to-demo. RLS policies grant select only. Errick (and the board) can click through every live number without any path to change a record — so the staging walkthrough can't break anything.
04 The wiring steps

From seeded screens to live read data.

1

Stand up the Supabase project

Create the project, set the region, capture the URL and anon/service keys into staging env.

supabase init · supabase link
2

Create the schema & read views

Tables for tenants, users, courses, cohorts, enrollments, sessions, submissions, certificates, donations, standards, evidence. Plus read-friendly views the surfaces query.

supabase db push
3

Seed the real data

Load Custom Image's six trades & real curriculum; import the first real cohorts, instructors & any existing records.

seed.sql · curriculum + cohorts
4

Turn on read-only RLS

Enable row-level security; grant select to anon on public tables and to authenticated (Errick's owner role) on the rest. No insert/update/delete policies yet.

policy: select for role = owner
5

Point each surface at Supabase

Swap each app's seeded state for a read fetch. Public surfaces use the anon client; the apps use Errick's session.

supabase.from(view).select()
6

Give Errick the keys & walk it

Provision Errick's owner login, deploy to staging, and click every surface to confirm the live numbers read true.

smoke test · all surfaces
05 This phase vs next

Read now. Write when it's proven.

This phase · read
  • All surfaces deployed to staging
  • Live Supabase data, read-only
  • Errick in the driver's seat
  • Public site + certificate verify live
  • Nothing can be broken by clicking
Why read-first wins: Errick sees the platform working with his own data on day one — the most convincing demo there is — while DRGx keeps full control of the engine. Every write capability then unlocks as its own reviewed step.