The portal confirms enrollment. This course can stop being monitored.
Choose a sample portal outcome
Active development
SiS Course Registration Bot
A seat without the endless refresh.
A Python and Playwright prototype that checks course seats and, when it finds an open one, attempts enrollment and reads the portal’s actual response.
Explore the case study: SiS Course Registration Bot
The problem
Checking seats gets repetitive.
High-demand courses can fill quickly. I wanted a tool that could check requested courses and distinguish a successful enrollment from a rejection or an automation failure.
What I built
Let the portal explain the result.
The prototype handles a signed-in browser session, checks seat availability, and returns enrolled, rejected, already enrolled, or error. A separate n8n-to-Gmail notification pipeline has been built and verified end to end.
What comes next
Connect the pieces reliably.
The repository still lists scheduled polling, notification integration into the live loop, and permission-code handling as unfinished. The current prototype requires supervision; the workflow preview illustrates the outcome design.

