- NIBM
- Gold Medal Project
- Automation
- 2023
NotifIBM
The SMS service that told NIBM students their results were out, before they even asked.
The problem
In my first semester at NIBM, results just appeared on the LMS with no warning. No notification, no email, nothing. So the entire batch developed the same nervous habit: logging in every few hours and refreshing, sometimes for days, hoping to see something new.
I kept thinking there had to be a better way. Instead of a few hundred students polling the same page, why not have one system watch it for all of us and send a text the second anything changes?
Working around a 10 second limit
The first version was simple. A cron job on Deta would scrape the LMS and notify anyone registered. Then I hit the catch: Deta's free tier kills any request after 10 seconds, and scraping results for the whole batch took longer than that.
The workaround turned out to be the most interesting part of the system. The cron job only watched one sentinel student. If a new result showed up for them, it queued a GitHub Actions workflow. Actions had no such timeout, so it could take its time scraping every student's results and pushing them to the server. From there, the server fanned out notifications to everyone registered for that specific result.
The details that made it real
A Redis cache held index numbers and results, so the LMS only got scraped when something actually changed. Emails went out through Resend, and SMS through Dialog's e-SMS API.
Getting the SMS mask approved is probably my favorite memory from this project. It took a few conversations with Dialog, but they eventually approved 'NotifIBM' as the sender name. The first time I saw that name pop up on a classmate's phone, it stopped feeling like a side project.
There was even a Twitter bot that announced each batch's results publicly the moment they dropped.
Where it went
Students across NIBM started using it, and it scored a perfect A+ as my final project. But the part I'm proudest of is what came after: the work contributed to the overall performance that won me the NIBM Gold Medal for Software Engineering that year.
A tool I built out of my own frustration ending up on a medal citation still feels surreal.
From the feed
Moments



