Muhammad Arslan
Hire me
Back to projects

Schooliee

A multi-tenant SaaS that runs schools end to end (students, staff, fees, and parent communication) across a web app, a mobile app, and a desktop messaging tool.

Role: Core front-end engineer (multi-developer team)Timeline: 2025-presentType: Multi-tenant SaaS (web + mobile + desktop)

Next.js 16

React 19

TypeScript

Convex

Prisma + MongoDB

Material UI

Expo

Electron

Schooliee student directory preview with illustrative records

Overview

Schooliee is a cloud-based school management system built for the Pakistani market. It's a full multi-tenant platform, where a single deployment serves platform administrators, school owners who run one or more campuses, and the parents of their students. The product spans three clients sharing one backend, a Next.js web app, a white-label Expo mobile app, and an Electron desktop tool for bulk WhatsApp messaging, and it covers everything from student records and staff management to fee collection and day-to-day parent communication. It's a large, long-running product that's still in active development.

The Problem

Running a school generates a constant stream of administrative work: enrolling and tracking students, managing staff with different permissions, issuing and chasing fees, and the part most systems handle badly, actually reaching parents. In Pakistan specifically, parents live on WhatsApp and mobile far more than email, and they're identified by CNIC (national ID) rather than an account they'd remember to create. A platform also has to serve several layers at once: the company operating it, the school owners paying for it, and the families using it. Doing all of that in one coherent system, for many schools at once, is the problem Schooliee set out to solve.

My Role & Approach

This is a large product built by a multi-developer team over a long period, and I was one of its core contributors, among the most active on the codebase across that span. The work sits across the role-based web portals and the shared front-end foundations that the different audiences depend on. The guiding architecture is separation by audience: each type of user gets its own portal and permission scope, layered so the platform admin sits above school owners, who sit above their campuses and parents. All of it runs on a backend that mixes a real-time engine for live features with a structured database for core records.

Tech Stack

WebNext.js 16 (App Router) with React 19, TypeScript, Material UI + Emotion, and Tailwind
Backend / dataConvex for real-time features (chat, notifications, announcements, push) alongside Prisma over MongoDB for structured records
AuthJWT with bcrypt, plus one-time-password flows
MobileExpo / React Native, white-labelled per school brand and built through EAS
DesktopElectron, a dedicated WhatsApp-sender application
AIVercel AI SDK with OpenAI for an in-product chat assistant
CommunicationResend with React Email, web push, Expo push, and WhatsApp
SupportingApexCharts, CKEditor, dnd-kit, PapaParse (CSV), camera/media capture, Serwist (PWA), and PostHog analytics

Key Features

Multi-tenant architecturea super-admin layer manages owners, owners manage campuses, and campuses serve parents and students, all isolated by role.
Role-based portalsdistinct experiences for the platform admin, school owners (billing, campuses, finance, todos), and parents.
Student and staff managementprofiles, academic tracking, and role-based access for employees.
Financial systemfee tracking, invoicing, payments, and owner billing.
Parent portal by CNICparents are found by national ID, matching how identity actually works locally, with fee viewing and communication.
Companion mobile appa white-label Expo app that re-skins per school brand.
WhatsApp desktop senderan Electron tool for bulk parent messaging over the channel parents actually use.
AI chat assistantan in-product assistant built on the AI SDK.
Real-time announcements and notificationsdelivered live over web and mobile push.

Gallery

Schooliee dashboard preview with sample school statistics
Schooliee fee management preview with illustrative balances and student records

Challenges & Solutions

The defining challenge is that Schooliee is really several products at once: three client apps and several distinct audiences sharing one system. The web app handles this with audience-scoped portals and a role hierarchy, so a platform admin, a school owner, and a parent each see a coherent slice of the same platform rather than a one-size-fits-all dashboard.

The data layer reflects a deliberate split. Live, collaborative features like chat, announcements, notifications, and push run on Convex, which is built for real-time, while the structured school records sit in Prisma over MongoDB. Using each tool where it's strongest keeps both the live features responsive and the core data well-modelled. The hardest real-world problem, reaching parents, comes down to going where they are. Instead of relying on email, the platform pushes through web and mobile notifications and a purpose-built WhatsApp desktop sender, and it identifies parents by CNIC so there's no account barrier in the way.

Outcome

Schooliee is a production platform that's still shipping daily: a genuinely large, multi-tenant system serving Pakistani schools across web, mobile, and desktop. It takes a school from enrollment through fee collection to ongoing parent communication, for many institutions at once, on a backend that balances real-time interaction with structured record-keeping. For me it represents sustained, senior-level contribution to a complex product over its long lifetime rather than a short-lived build.

Have a similar product problem?

Share the current product, the outcome you need, and the constraints already in the way. I will use that to define a sensible first milestone.

SaaS development services
Start your project brief
All projectsNext projectAtomic