Inspiration
Every quarter, UCR students go through dozens of tabs just to find the perfect schedule. Personally, I experienced lag from too many tabs open and struggled to find the tab I was just looking at. I wanted to make a web extension that not only puts all important course data (past grades, RateMyProfessor, student made difficulty database) into the official registration website, but also uses AI features to synthesize information into an estimated difficulty, sentiment, tips, and common mistakes. This project was heavily inspired by the recent release of UCR's Grade Data Made Available and the GoHighlander Ratings web extension. I hope to take preexisting resources a step further by integrating them seamlessly into a single, easy to use extension.
What it does
R’Lens is a chrome extension for UCR's official registration website(registrationssb.ucr.edu). It adds a custom data column next to the class, allowing students to access crucial info about course difficulty without ever having to switch tabs.
R’Lens gets data from these 3 sources:
R’Lens also allows users to enter their own free Gemini API key to generate a quick summary of overall sentiment, tips, and common challenges for a specific class or professor.
How we built it
R’Lens is a Manifest V3 Chrome extension built using vanilla JavaScript and CSS, and rapidly prototyped with Cursor AI. I utilized a service worker architecture to handle cross-origin data fetching and API message routing. The UI is driven by a content script that relies on DOM observers to detect row changes in the registration SPA. To ensure fast response times and avoid rate limits, I implemented Chrome’s local storage API to cache fetch results and only fetch unique data.
Challenges we ran into
The biggest challenge was injecting UI elements into a reactive Single Page Application without breaking its native layout or behavior.
Accomplishments that we're proud of
I am proud of successfully merging 3 distinct sources of data and a Gemini API into a single user interface.
What I learned
I learned that Gemini 2.5 Flash is very fast and easy to use and I also learned how to use Cursor to rapidly prototype.
What's next for R'Lens: Web Extension for UCR's schedule of classes
I am working on fixing UI edge cases to ensure R’Lens is user friendly on all screen sizes. I am also preparing to officially publish R’Lens to the chrome webstore so it can be used by all UCR students this upcoming Fall quarter.
Built With
- claude
- css
- javascript
Log in or sign up for Devpost to join the conversation.