Skip to content
SNOWBROS

An academic platform with three portals and one source of truth

Student, teacher and admin portals for a CBSE and GSEB tuition centre: enrolment, attendance, fees and performance on one Postgres schema.

STC Academy on laptop, phone and tablet: the admin command centre, student management, and the public admissions page.

The problem

Attendance, fees and grades were spread across spreadsheets and messaging apps. Data was duplicated, reports were assembled by hand, and access control depended on who had the file.

What we built

A role-based platform on Next.js and Supabase. Each role sees a portal shaped around its day; attendance and fee status feed shared analytics; access is enforced in the database with row-level security; and the public site carries admissions and curriculum.

Decisions, and why

  • Authorization in the database

    Row-level security means a student cannot read another student's record even if a screen forgets to check.

  • One codebase, three portals

    Shared schema and components keep the roles consistent, while routes and navigation are shaped per role.

Scope

  • Admin command centre: students, faculty, classes, subjects, materials
  • Attendance capture, including QR codes
  • Fee status tracking: paid, partial, unpaid
  • Bulk student import from CSV and Excel
  • Public admissions and curriculum site

Built with Next.js, TypeScript, Supabase, PostgreSQL, Row-level security, Tailwind CSS

Next sheet

Vinnys Vogue

Bridal and festive couture commerce, with the operations behind it