UMS and LPU Touch never notify you. campus-agent logs into UMS so you don't have to, checks your timetable and notices on a schedule you control, and pings your phone as soon as it sees a change.
One sync reads your timetable, attendance, exam dates and the My Messages feed. Everything below falls out of that.
The one that matters. Each check diffs your timetable against the last one, and a private Telegram bot pings you CANCELLED: Wed 10:20 CAP7001 — room moves and new UMS notices included, class-related ones flagged first. Checks run every few hours by default; tune the interval to taste.
Knows your timetable, your attendance and the term dates, so it answers the real question: how many more can I miss and still sit the exam? No more mental arithmetic against the 75% bar.
One click exports the whole term — classes with rooms, exams, holidays — as a calendar file. Your phone does the reminding natively; nothing to keep open.
One message: today's classes, anything that changed overnight, and any course drifting toward the bar. Read it before you decide whether to get up.
A local page with a live countdown to your next class, today's timeline, and attendance gauges against the bar. Set up entirely in the browser — toggles and forms, not commands.
Read-only Gmail digest that pulls exam, fee and placement mail out of the unread pile. It cannot send, delete or mark anything — by construction.
There is no backend. Check any claim below against the running app.
Goes to your OS's own secret store — Windows Credential Manager or the Linux secret service. The same vault a password manager uses. Never a file, never this download, never a server.
Never leaves the device. Phone alerts carry course codes, rooms and times; the percentages stay local.
The app talks to the UMS portal and only the services you switch on — your own Telegram bot, your own mail. No telemetry, no analytics, nothing else. (This website loads its fonts from Google; the app itself loads nothing.)
Binds to 127.0.0.1 only and rejects cross-site requests. Your data isn't reachable from the network, full stop.
Loudly. A page that half-loads is refused, never stored — the app tells you it failed instead of quietly showing you stale data.
You need Python 3.11+ (Windows doesn't ship it — step 1 covers you) and Chrome or Edge, which you already have.
Windows: install from python.org and tick "Add python.exe to PATH" on the first screen — that checkbox matters. Check it worked: open PowerShell and run py --version. Linux: you already have it.
Windows: open your Downloads folder, Shift+right-click an empty spot, "Open PowerShell window here", then:
Linux: sudo apt install pipx (or your distro's equivalent), then pipx install ./campus_agent-0.1.0-py3-none-any.whl from your Downloads folder.
"command not found" after installing? Close the terminal and open a new one — the PATH change only applies to fresh windows.
A setup page opens in your browser by itself. Flip on what you want, enter your UMS login once, connect a Telegram bot — forms, not commands. Open the dashboard, hit Sync now, done.