Primary ICT / ROM Portal
Strategic platform and client portal for Primary ICT managed services — the ROM (Relationship & Operations Management) portal: client accounts, tickets, assets, contracts and service status for schools.
Status & focus
Blockers
- Auth model for client vs internal users still undecided.
Sign in to edit status, capture notes & decisions, and sync your brain across devices.
Architecture
Next.js App Router + TypeScript + Tailwind. Supabase (Postgres + Auth + RLS) for multi-tenant client data. Vercel hosting. Role-based access (client vs internal).
Design standard
Clean enterprise SaaS. Restrained palette, accessible contrast, dense but readable tables, clear status badges. Consistent with the RobOS design language.
Decisions
RLS-first multi-tenancy for ROM Portal
Use Supabase Row Level Security as the primary isolation mechanism, with the service role key server-side only.
10 Jun 2026
Reusable prompts
Prompt libraryROM Portal — build a feature
Build · best with claude
Security audit (any project)
Security · best with claude
AI handover
ROM Portal is the Primary ICT client platform (Next.js + Supabase, multi-tenant with RLS). Open question: client vs internal auth model. Use env vars for all Supabase keys — never inline the service role key. Work happens under the PrimaryICT work browser profile.
Ask your AI
Opens with this project's live brain already typed — status, focus, blockers, latest notes. Just add what you need and hit enter.
Quick launch
cd "C:\dev\rom-platform"Identity & repo
Environment map
NEXT_PUBLIC_SUPABASE_URLUsed by app runtime + Vercel · value in Vercel project env
public
NEXT_PUBLIC_SUPABASE_ANON_KEYUsed by app runtime + Vercel · value in Vercel project env
public anon key
SUPABASE_SERVICE_ROLE_KEYUsed by server actions + Vercel · value in Vercel project env (server only)
NEVER expose to client or AI