EdTech platform
GrowOn
A multi-role platform that runs a school’s day
A B2B school platform connecting students, parents, teachers, principals and management — sold school-by-school.

- Status
- Live
- Role
- Senior Backend Developer → Team Lead
- Engagement
- Employment
Stack
- Flutter
- Node.js
- Express
- MongoDB
- AWS
- Elastic APM
- Nginx
The problem
Schools run on disconnected tools — paper registers, spreadsheets, WhatsApp groups and a different app for every task. Parents only see their child's progress at report-card time, and most school software is either priced for large institutions or too fiddly for teachers to adopt. GrowOn set out to replace that patchwork with one connected platform a school could actually run its day on.
What I built
A multi-app school platform that connects students, parents, teachers, principals and management in one system.
- One connected network
- Students, parents, teachers, principals and management in a single multi-app system.
- Real-time attendance
- Daily marking with instant parent notifications.
- Assessments & question papers
- Online quizzes, assignments and auto-generated question papers.
- Fee management
- Collection tracking and reporting for school admins.
- Gamified engagement
- Points, badges and rewards that drive participation.
How it is built
A multi-app platform rather than one monolith: every role — student, parent, teacher, principal, management — gets its own app over a single shared backend.
Role-based apps talk to one Express API, which reads and writes MongoDB and serves media from S3, fronted by Nginx and Cloudflare.
Clients
- Student / Teacher / Parent apps (Flutter)
Services
- Node.js + Express API
Data
- MongoDB
Infrastructure
- AWS (EC2 · S3 · load balancing)
- Elastic APM
- Elastic APM on its own instance
- Runs on a dedicated EC2 instance, collecting traces from every service so problems surface before a school reports them.
- Nginx, Cloudflare and PM2
- Reverse proxying, CDN and process management for steady multi-app traffic.
- Scaling and API optimisation
- Hot paths were rewritten and caching added after the first growth spike.
The hard part
Scaling a real-time, multi-app platform
Keeping attendance, messaging and notifications responsive for thousands of concurrent school users across five roles.
Result
- active users across students, parents, teachers & staff
- 10,000+active users across students, parents, teachers & staff
- engineering team led — 3 Flutter · 3 backend · 2 DevOps
- 8-personengineering team led — 3 Flutter · 3 backend · 2 DevOps
Gallery
Imagery is recreated or anonymised for privacy — not actual screenshots.
Have a problem like this?
Tell me what you are trying to build and I will tell you how I would approach it.
