Inspiration

Planning a semester at Texas State means juggling Degree Works, poorly designed registration pages, section availability, prerequisites, and personal preferences, often across many browser. The result is having students guessing, and sometimes guessing wrong: delayed graduations, wasted semesters, extra tuition paid.

Often being disappointed with advising experiences, we imagined an advisor that knew every class, your favorite subjects and your work schedule, all through a few messages. A class registration system that was modular and easy to adjust, locking in one class with your best friend and letting AI plan the rest, or simply using the model to find the perfect time slot for that last class you need. We built a better registration system from the ground up with the consideration of LLM integration as the core of the product.

You cannot just use ChatGPT to do this - this is not just a pretty interface for an LLM. Your degree audit data and class registration information is securely accessed, using the same security protocols that Texas State uses. We wanted one place where students could see their week-at-a-glance, receive schedule advice from an agent that understands the degree requirements like an expert, and hopefully never have to use Texas State’s native registration system ever again.

BobcatPlus fixes this with one tool that expertly plans your schedule according to your life - and if it doesn’t get it right the first time, hit lock on the course you want to keep and it will handle the rest.

What it does

BobcatPlus is a Chrome extension that interprets your degree audit, figures out what you need to finish your degree and get a job, and builds you multiple working semester schedules that you can pick and choose from.

The core problem: There is no way to compare course loads without spending hours plotting out all the different options. When you speak to an advisor they look at the same degree audit as you. Students need a solution that can create schedules that fit their preferences, interests, and career plans. We enrich data securely pulled from our degree audit system and course registration portal, format it for efficiency and accuracy and pass it to a GPT-4o model. It then weighs courses based on your goals. The model is able to go beyond a traditional schedule builder: what you have finished and what you still need is just the start - it recommends classes based on your interests, career goals, work schedule, and any other information you can share with it. Using a smart weighting system to prioritize courses GPT-4o not just detects time conflicts across your whole week, it puts you in courses that you need for your future career and courses that you didn’t even know you wanted that still satisfy degree requirements, keeping you on track to graduate with a progress tracker and feedback on course load. No spreadsheet, no manual cross-checking, no hoping your advisor catches a conflict before you do. It responds to plain English preferences like "nothing before 10am, no classes friday and I really love Texas" and you find yourself registered for a Texas American history course you didn’t know fulfilled your credit.

  1. The information from students degree audit, completed courses, remaining requirements, and prerequisite chains are all compiled and formatted in a way that allows an LLM to keep clear track of what you need, what the time conflicts are, and how to make it work.
  2. AI recommends courses based on what you need and want - if you have a tight focus on career prep, it will help you dial in exactly what classes are needed to get you there. Studying English and want to be a teacher? It steers you towards classes that will culminate in a teaching certificate, explaining its reasoning.
  3. Live weekly calendar with automatic conflict detection, course locking, and add/remove controls
  4. GPT-4o generates multiple schedules delivered in a chat window alongside a calendar view, one click away from adding to your registration plan.
  5. Faculty Rate My Professor scores included in course pop up windows to ensure you’re picking the right ones.
  6. Faculty emails built in to the schedule builder, allowing you to send an email to a professor with a full course asking if they would make an exception in once click - helping you graduate faster and putting you directly in contact with instructors.

How we built it

This project is a Chrome extension (built using Manifest V3) designed to be lightweight and capable of running on any machine so that every student can access it. In the background, it uses a “service worker” (a hidden script) to handle the heavy tasks. This includes things like reading your degree audit, searching for courses step-by-step, checking prerequisites, and sending results back to the page you’re using. We used a tool to scrape faculty emails from their websites and links to their Rate My Professor page, linking them directly to their section when you are registering.

The main interface opens as a full-page tab. This is where you actually plan your schedule. It includes a calendar view, different panels for building your plan or getting AI help, a sidebar overview, pop-up windows, and adjustable sections. Everything is built using plain JavaScript and CSS—no complex frameworks. The extension also connects to OpenAI (using GPT-4o) to provide AI-powered help. Courses are color coded to make organization and decisions easy.

Challenges we ran into

Banner has no public API. We reverse-engineered its internal POST sequences, serialized every call, and built visible error states so failures surface to the user instead of hanging silently.

TXST SSO actually went down during the hackathon. The portal was down for most of our submission window. We had anticipated this and implemented local caching of registered courses, allowing us to still provide a user with an overview of their courses and potential course options without connection to Texas States system.

Chrome kills idle service workers. A degree audit parse can outlive Chrome's background worker timeout. We built keepalive and queueing logic to prevent the UI from waiting on a worker that had already been terminated.

What we're proud of

We built this for ourselves and our friends. This is a constant struggle for Texas State students and being able to build a tool that our friends and us can use to finish our degrees. We built a complete working pipeline in 24 hours: log in, degree and registration data is formatted, LLM is given this info and much more like previous semesters schedules and your grades in individual classes and builds you a full schedule automatically. The AI does the heavy lifting that TXST's own tools never could: cross-referencing your remaining requirements against live section availability, considering multiple factors including user input in creating schedules free of conflicts. An easy to use interface that feels like it belongs in 2026.

What we learned

AI is most useful when grounded in verified data. Degree Works is not an accessible system, opening new tabs for every button click and putting all the important information . Using a vision model to extract structured eligibility data first, then passing that structure to a generative model, produces outputs that are actually trustworthy. The AI is not guessing at your requirements. It is reading the same page your advisor would. Browser extensions are ideal glue between student portals and modern tooling, but permission and session stories must be explained clearly to users and judges. LLMs are planners, not registrars: the win is combining structured eligibility data + hard constraints (locks, conflicts) with natural-language preferences. Shared global scope across extension scripts makes small duplicates catastrophic; modules or single ownership of helpers matters.

What's next

  • One click registration so you never have to use degree works again
  • Inclusion of past syllabus on instructor view
  • Further integration for withdrawing and dropping courses, with smart deadlines
  • Lighter models and section caching for faster, cheaper schedule generation

Built With

Share this project:

Updates