Schooliee
Un SaaS multi-tenant che gestisce le scuole a 360 gradi (studenti, personale, rette e comunicazione con i genitori) attraverso una web app, un'app mobile e uno strumento di messaggistica desktop.
Next.js 16
React 19
TypeScript
Convex
Prisma + MongoDB
Material UI
Expo
Electron

Panoramica
Schooliee è un sistema di gestione scolastica basato su cloud creato per il mercato pakistano. È una piattaforma multi-tenant completa, in cui una singola distribuzione serve gli amministratori della piattaforma, i proprietari delle scuole che gestiscono una o più sedi e i genitori dei loro studenti. Il prodotto comprende tre client che condividono un unico backend: una web app Next.js, un'app mobile Expo white-label e uno strumento desktop Electron per l'invio massivo di messaggi WhatsApp. Copre tutto, dai record degli studenti e la gestione del personale fino alla riscossione delle rette e alla comunicazione quotidiana con i genitori. È un prodotto ampio e duraturo, tuttora in fase di sviluppo attivo.
Il problema
Gestire una scuola genera un flusso continuo di lavoro amministrativo: iscrivere e monitorare gli studenti, gestire il personale con permessi diversi, emettere e sollecitare i pagamenti delle rette e, la parte che la maggior parte dei sistemi gestisce peggio, raggiungere effettivamente i genitori. Nello specifico, in Pakistan i genitori usano WhatsApp e il cellulare molto più dell'email, e vengono identificati tramite il CNIC (carta d'identità nazionale) anziché un account che dovrebbero ricordarsi di creare. Una piattaforma deve inoltre servire più livelli contemporaneamente: l'azienda che la gestisce, i proprietari delle scuole che la pagano e le famiglie che la utilizzano. Fare tutto questo in un unico sistema coerente, per molte scuole allo stesso tempo, è il problema che Schooliee si è prefissata di risolvere.
Il mio ruolo e approccio
Si tratta di un prodotto di grandi dimensioni sviluppato da un team di più sviluppatori lungo un periodo esteso, di cui sono stato uno dei contributori principali, tra i più attivi sulla codebase in quel lasso di tempo. Il mio lavoro ha riguardato i portali web basati sui ruoli e le basi condivise del front-end da cui dipendono i vari tipi di utenti. L'architettura portante è la separazione per pubblico: ogni tipo di utente ha il proprio portale e ambito di autorizzazioni, strutturato in modo che l'amministratore della piattaforma sia al di sopra dei proprietari delle scuole, i quali sono al di sopra delle loro sedi e dei genitori. Il tutto poggia su un backend che combina un motore in tempo reale per le funzionalità live con un database strutturato per i record principali.
Stack tecnologico
Funzionalità chiave
Galleria


Sfide e soluzioni
La sfida principale è che Schooliee è in realtà più prodotti contemporaneamente: tre app client e vari segmenti di pubblico distinti che condividono un unico sistema. L'app web gestisce questo con portali basati sul pubblico e una gerarchia di ruoli, così un amministratore della piattaforma, il proprietario di una scuola e un genitore vedono ciascuno una parte coerente della stessa piattaforma, anziché una dashboard unica per tutti.
Il layer dei dati riflette una divisione deliberata. Le funzionalità collaborative in tempo reale come chat, annunci, notifiche e push vengono eseguite su Convex, progettato per il real-time, mentre i record scolastici strutturati si trovano in Prisma su MongoDB. Usare ogni strumento dove eccelle mantiene reattive le funzionalità live e ben modellati i dati principali. Il problema pratico più difficile, raggiungere i genitori, si riduce ad andare dove si trovano. Invece di fare affidamento sull'email, la piattaforma utilizza notifiche web e mobile e uno strumento desktop per WhatsApp, e identifica i genitori tramite il CNIC in modo che non vi siano ostacoli legati all'account.
Risultato
Schooliee è una piattaforma in produzione con rilasci giornalieri: un sistema multi-tenant davvero ampio che serve le scuole in Pakistan su web, mobile e desktop. Accompagna una scuola dall'iscrizione, alla riscossione delle rette, fino alla comunicazione continua con i genitori, per molteplici istituti contemporaneamente, su un backend che bilancia interattività in tempo reale e archiviazione strutturata dei record. Per me rappresenta un contributo continuo, di livello senior, a un prodotto complesso per tutta la sua lunga durata, piuttosto che un progetto di breve periodo.
Hai un problema di prodotto simile?
Condividi il prodotto attuale, il risultato di cui hai bisogno e i vincoli già presenti. Li utilizzerò per definire un primo milestone sensato.
Servizi di sviluppo SaaS