Skip to content
Imtiaz Hossain

work / full-stack / campus-sync

CampusSync

A university collaboration platform with routine syncing, free-time matching, notifications, and a course scraper, delivered as an installable PWA.

period

2025

status

shipped

routine sync
free-time
cross-student matching
data
scraper
automated course ingest
delivery
PWA
installable + offline
notifications
real-time
read/unread tracking
CampusSync interface

system architecture / interactive

Node Scrapercourse dataPWA ClientinstallablePHP Backendauth + routesMySQLroutines + usersNotificationsfree-time match
fig. 00 / campus-sync / hover nodes to trace the data flow

The idea

Coordinating anything across a university cohort means reconciling everyone's class routines, and that reconciliation is exactly the tedious manual work software should absorb. CampusSync is a collaboration platform that syncs student routines, finds overlapping free time, and keeps everyone notified, built on a PHP and MySQL stack with a Node data pipeline.

Automated course ingestion

Rather than asking students to hand-enter their schedules, CampusSync includes a Node-based scraper that pulls BRAC University course and section data automatically. This is the difference between a form nobody fills in and a tool that already knows the course catalog: the scraper feeds a normalized MySQL schema of courses, sections, and timing details that the routine builder draws from.

Free-time matching and notifications

Once routines are in the system, the platform computes overlapping free time across students, which powers study-group scheduling and the notification layer. Notifications track read and unread state per user, with endpoints for fetching, marking individual items, and marking all read, so the feed stays meaningful instead of becoming noise.

Shipped as a PWA

CampusSync is delivered as an installable Progressive Web App, with a manifest, service worker, offline fallback page, and app icons. On a phone it behaves like a native app and stays useful without a connection, which is the right posture for something students check between classes.

stack

PHPMySQLJavaScriptNode.jsPWAPuppeteer

the evidence