💡 Inspiration

Every UW student knows the frustration: you need CSE 311 or INFO 200, but it's full. You subscribe to Notify.UW, get the "Seat available!" alert, then frantically scramble to open the registration site, log in, find the SLN box, and type the code—only to find the class is closed again. Someone else was 10 seconds faster.

We built SLN One-Click to eliminate those crucial lost seconds and level the playing field.

🚀 What it does

SLN One-Click is a Chrome extension that bridges the gap between "Notify.UW" and "Registered."

  • Instant Presets: It allows students to pre-save registration URLs with SLN codes as named presets.
  • One-Click Action: When a Notify.UW alert arrives, users can click their saved preset to instantly open the registration page with SLNs pre-filled.
  • Auto-Focus: The extension automatically scrolls to and highlights the "Update Schedule" button, even focusing it so students can just press Enter to submit.
  • Gmail Integration: For ultimate speed, it can monitor Gmail for Notify.UW emails and automatically open the correct registration page based on the SLN in the notification.

⚙️ How we built it

We developed this as a Manifest V3 Chrome extension using vanilla JavaScript. The architecture includes:

  • Popup Interface: For saving and managing SLN presets with optional scheduled alarms.
  • Content Scripts: Scripts that run on UW registration pages to auto-scroll, highlight, and focus the submit button.
  • Gmail Watcher: Uses MutationObserver to detect Notify.UW emails and extract SLN codes in real-time.
  • Background Service Worker: Handles alarms and email-triggered registration logic.
  • Chrome Storage API: Ensures persistent bookmark management across browser sessions.

😤 Challenges we ran into

  • Gmail Monitoring: Gmail's security restrictions and dynamic content loading made email monitoring tricky—we had to use MutationObserver to watch for DOM changes securely.
  • Manifest V3: The transition to V3's stricter permissions required careful handling of cross-origin requests and service worker limitations.
  • Data Parsing: The biggest challenge was parsing SLN codes from email text reliably, since Notify.UW formats can vary.
  • Safety: We also had to ensure the extension only runs on official UW domains to prevent security issues.

🏆 Accomplishments that we're proud of

We created a tool that genuinely solves a real problem every UW student faces. The extension reduces registration time from 30+ seconds of manual work to a single click or keypress.

The Gmail integration is particularly innovative—automatically detecting notifications and opening the right registration page without any user intervention. We're proud that it respects UW's policies by being an autofill utility rather than an automated bot.

🧠 What we learned

We gained deep experience with Chrome Extension APIs, especially the differences between Manifest V2 and V3. Working with Gmail's complex DOM structure taught us about robust web scraping techniques.

We learned about responsible automation—creating tools that help users without violating platform policies. The project also reinforced the importance of user experience design, especially in high-stress scenarios like course registration.

🔮 What's next for One-Click SLN

  • Adding support for multiple quarters and cross-quarter scheduling.
  • Integration with UW's official APIs to provide real-time seat availability.
  • Exploring mobile app versions.
  • Considering features like automatic waitlist management.
  • Long-term, we'd love to work with UW IT to integrate this functionality directly into the official registration system, making fast, fair registration access available to all students.

Built With

Share this project:

Updates