Muhammad Aleem Logo
Muhammad Aleem
Loading Experience...
Digital Diary main screenshotDigital Diary secondary screenshot

Digital Diary

A full-stack school management portal with AI-driven career guidance, role-based access, and real-time collaboration.

MongoDBMongoDBExpress.jsExpress.jsReact.jsReact.jsNode.jsNode.jsPythonPythonAI/MLAI/ML
3rd / 175+
FYP Exhibition
3
User Roles
MERN + AI
Stack
Why I built this
Schools in Pakistan still rely on WhatsApp groups and notebooks to share grades and announcements. Teachers waste hours chasing down attendance sheets, parents are left guessing how their kids are doing, and students get no real career guidance. I wanted to change that — so I built Digital Diary, a single platform where everyone in a school community could connect, track progress, and actually plan for the future. It ended up winning 3rd place out of 175+ projects at UCP's FYP Open House Exhibition.
How it works
Digital Diary has three portals under one roof — one for students, one for teachers, and one for parents — all sharing a MongoDB database managed through a Node.js/Express backend. Teachers upload grades and behavioral records; the system aggregates them and surfaces a dashboard for parents in real time. An AI recommendation engine built in Python analyses each student's academic profile and interests, then suggests personalized career paths. On top of that, a badge system gamifies performance by awarding achievements for grades, behaviour, and participation. A built-in chat feature ties everyone together so teachers can ping parents directly without leaving the platform.
Key decisions

Design choices

Role-Based Access Control from Day One

Rather than bolting on permissions later, I designed the auth system with three distinct JWT-scoped roles from the start. Each role gets a completely different dashboard and API surface, so a parent can never accidentally hit a teacher-only endpoint.

Python Microservice for the AI Engine

I kept the recommendation logic in a separate Python service instead of cramming it into the Node backend. This let me iterate on the ML model independently and swap it out without touching the main API.

Gamification as a Retention Hook

Grades alone don't motivate students to check the portal daily. Badges and leaderboards do. I added a points system tied to real academic metrics so the gamification is meaningful, not gimmicky.

Challenges

Problems solved

Syncing real-time chat with the role system

Socket.io rooms had to respect role boundaries — a student shouldn't be able to open a direct channel to another student's parent. Getting the room-creation logic right without creating security holes took several iterations.

Training an AI model on limited school data

Pakistan's schools don't publish clean student datasets. I had to generate synthetic training data, tune it carefully, and validate outputs against real career trajectories to make recommendations that felt credible rather than random.

What I learned
This project forced me to think like a product designer, not just a developer. The tech was challenging, but the harder problem was figuring out what each user type actually needed from the app. I also learned that shipping a working AI integration is less about the model and more about the data pipeline feeding it. And presenting the whole thing to judges and industry professionals at the Open House taught me how to communicate technical decisions to a non-technical audience — a skill I now use every day in my BA role.
👋 Need a quick tour of Aleem's portfolio?