Product status

PeopleCampus is being built in stages and is not yet generally available. This page lists each capability with one of four labels, and is generated from the same list the engineering team maintains.

Implemented and verified
Built, and exercised by automated tests.
Awaiting external configuration
Built, but needs a provider account, credentials, contract or approval before it can run for real.
Simulated in demo
Works end-to-end in the demo against a simulator, not a real provider.
Incomplete
Not finished yet.

Foundation

  • Multi-tenant isolation with database row-level security and composite tenant keys
    Implemented and verified
  • Roles and permissions (13 institution roles + platform admin), multi-institution membership, campus-scoped access
    Implemented and verified
  • Append-only audit log on sensitive records
    Implemented and verified
  • Member invitations (single-use hashed tokens), no privilege escalation by granters, last owner protected
    Implemented and verified
  • Time-boxed, audited support access
    Implemented and verified
  • Durable background jobs with retries, backoff, leases and idempotency
    Implemented and verified
  • Platform console: separate staff table with roles, school provisioning, owner invitations
    Implemented and verified
  • Console sign-in with password plus emailed one-time code; password reset
    Needs the Supabase magic-link email template to show the code ({{ .Token }}); default Supabase email is rate-limited until an email provider is chosen.
    Awaiting external configuration
  • Production authentication (Supabase Auth)
    Code path exists; needs the production Supabase project, auth settings and email templates.
    Awaiting external configuration
  • Private student documents: content-type checks, 10 MB limit, scan before access, staff share with family, audited two-minute download links, removal with reason
    Implemented and verified
  • Supabase Storage adapter (private bucket)
    Written against the documented Storage API; not yet run against a real project. Local disk storage is used in development; the hosted demo needs this adapter too.
    Awaiting external configuration
  • Malware scanning of uploads
    Simulated scanner (catches the EICAR test file only). Without a real scanner, uploads stay unopenable.
    Simulated in demo

Academics

  • Philippine K-12 structure: grade levels, MATATAG-style subjects, three-term SY 2026-2027 calendar
    Implemented and verified
  • Grading: DO 8 s.2015 and DO 015 s.2026 (provisional values) policies, sheets, approval separation, corrections
    DO 015 values are from secondary sources; schools can upload the official transmutation table.
    Implemented and verified
  • Timetables: conflict detection, constraint-based generator (background job), approval and publish guards, substitutions, personal timetables
    Implemented and verified
  • TVET configuration (competencies, batches, training hours)
    Incomplete
  • Higher-education configuration (units, prerequisites, enlistment, transcripts)
    Incomplete
  • Year-end: final grades, promotion decisions and report cards (SF9)
    Year-end page per section: compute final ratings from approved grades, record decisions (a note is required when overriding the computed result), generate frozen report cards and release them to families. Released cards stay released; a correction is a newer card that supersedes the old one. Database tests and a browser flow.
    Implemented and verified

Students

  • Student records, guardians, verified guardian links (unverified links grant nothing)
    Implemented and verified
  • Admissions: public application form (rate-limited, consent), duplicate flags, requirement checklist, decisions, conversion to student and pending enrollment
    Implemented and verified
  • Section and campus moves, withdrawals and transfers out (records kept, cards revoked, balance reported to finance)
    Implemented and verified
  • CSV imports of students/guardians and opening balances: check-first, all-or-nothing, duplicates skipped, balances need finance approval
    Implemented and verified
  • Spreadsheet import from .xlsx (first sheet) as well as CSV
    Read in the server with size limits; the same row checks as CSV. Tested with Excel-format files from openpyxl and LibreOffice.
    Implemented and verified
  • Permanent records (SF10 / Form 137): ES, JHS and SHS layouts, records from previous schools, issue, print, send and void
    Uses approved and published grades only. Issued copies are frozen, serial-numbered and hashed. Layout follows the DepEd SF10 structure from secondary sources; compare with the current official template.
    Implemented and verified

Attendance

  • Daily attendance (manual and device), corrections with separate approval, weekends and closures
    Implemented and verified
  • Per-class (period) attendance from the published timetable, same-day teacher marks, audited corrections with a reason, class-absence flags against the daily register, online participation review
    Implemented and verified
  • Card/QR device ingestion with HMAC signatures, card history, raw events separate from derived attendance
    Implemented and verified
  • Device simulator
    Simulated in demo
  • Specific hardware models
    No physical reader has been tested. Each model stays 'unverified' until tested.
    Awaiting external configuration

Finance

  • Fee assessment, discounts, installment plans, integer-money ledger, immutable postings
    Implemented and verified
  • Cashier sessions, receipts, payment verification, adjustments and refunds with preparer ≠ approver
    Implemented and verified
  • Online payment gateway (cards, e-wallets, bank)
    Adapter and webhook verification are built against a simulator; a real gateway needs merchant onboarding and Gil's approval.
    Awaiting external configuration

Subscription

  • Graduated core pricing, proration of additions, annual or quarterly installments
    Implemented and verified
  • Connect (₱60 per participating student per year, no double charging)
    Implemented and verified

ConnectPlus

  • Prepaid participant-minute packs, earliest-expiry-first consumption, concurrency-safe reservations, 50/80/95% alerts
    Implemented and verified
  • Live video classes
    Simulated provider in demo. Cloudflare RealtimeKit adapter is written but disabled until endpoints, pricing and terms are verified and approved.
    Simulated in demo
  • Microsoft Teams external links (no credits used)
    Implemented and verified

Connect

  • Section, class and staff channels generated from academic assignments; join-time visibility; access removed on withdrawal
    Implemented and verified
  • Direct messages (teacher–student, teacher–verified guardian, staff; student–student off by default), unread counts, search, notification settings
    Implemented and verified
  • Rate limiting, reports with snapshot, moderator decisions, mutes, retention, audited administrator access
    Implemented and verified
  • Message attachments (PDF and images, 10 MB): scanned before members can open them, students only if the school allows, removed with hidden or expired messages
    Scanning is simulated until a scanning service is chosen.
    Implemented and verified
  • Live delivery
    Pages refresh every 15 seconds; no realtime push yet.
    Simulated in demo

Notifications

  • In-app notifications with de-duplication and preferences
    Implemented and verified
  • Email delivery
    Outbox adapter records messages without sending; a provider must be chosen and configured.
    Awaiting external configuration
  • SMS
    Opt-in only; no SMS provider configured.
    Awaiting external configuration

Library

  • Catalog, copies, lending, returns, renewals, holds, overdue and lost-item charges (posted to student accounts only on librarian confirmation)
    Implemented and verified

Inventory

  • Purchase requests and POs with requester ≠ approver and preparer ≠ approver, goods receipt, append-only stock ledger, campus transfers, asset register
    Commitments only: supplier payments (accounts payable) are outside PeopleCampus.
    Implemented and verified

Integrations

  • PeopleWeave link flow: two-sided approval, selective teacher linking, idempotent sync with conflicts, disconnect keeps records, pay fields dropped
    Runs against a labelled mock directory (contract draft v0). A live adapter waits for PeopleWeave to publish its API.
    Simulated in demo

Continuity

  • Remote-learning days by school, campus, grade or section; sessions proposed from the published timetable; publish and notify; teacher modes; participation
    Implemented and verified

Product

  • Admin, teacher, student and guardian portals
    Verified locally against the demo seed; not yet deployed.
    Implemented and verified
  • Marketing website and pricing calculators
    Implemented and verified
  • Interactive demo with three fictional institutions, persona sign-in and guided scenarios
    Implemented and verified
  • Demo reset (wipe demo institutions and personas, reseed)
    Implemented and verified
  • Scheduled daily demo reset
    The `Demo database` workflow reloads the hosted demo. Its daily schedule (02:00 Manila) is active since PR #1 merged to main on 2026-10-24; the first scheduled run has not happened yet.
    Awaiting external configuration

Countries

  • Philippines country package
    Implemented and verified
  • Singapore, Malaysia, Indonesia, Thailand, Vietnam, UAE
    Listed as not configured; cannot be selected for production institutions.
    Incomplete

Operations

  • Production deployment (Vercel, Supabase, Cloudflare DNS)
    Demo live since 2026-10-24 at demo.peoplecampus.app (Vercel peoplecampus-demo, Supabase peoplecampus-demo). Production infrastructure set up 2026-10-24 with Gil's approval: Vercel peoplecampus-prod serving peoplecampus.app and www (DNS only), Supabase peoplecampus-prod with all 26 migrations (schema fingerprint matches the tested schema), private storage buckets, no data or accounts. Still needed before real schools: live-site check, auth settings and an approved email provider, Point-in-Time Recovery.
    Awaiting external configuration
  • Load testing (local measurements)
    Measured on a 4-CPU development container against local Postgres; not a production capacity figure.
    Implemented and verified
  • Load testing on production-like infrastructure
    Needs the deployed demo environment.
    Awaiting external configuration
  • Daily housekeeping jobs (absences, message retention, credit expiry) in each school's time zone
    Implemented and verified

Quality

  • Automated accessibility checks (axe-core, WCAG 2.0/2.1 A and AA) on every page
    Automated rules only; a manual screen-reader and keyboard review has not been done.
    Implemented and verified