Schedule Me
Schedule Me is a course scheduling app built for a software engineering course and then pushed well past the assignment. A Java backend loads the real course catalog and exposes search, filtering, and schedule management over a Javalin API. A React frontend turns that into drag-and-drop schedule building with fuzzy search, saved schedules, undo and redo, and user profiles. A small Ruby on Rails service turns any schedule into a link you can send someone. And an AI advisor embeds the college bulletin and degree sheets into a vector store and answers student questions against them, with the student's current schedule passed in so it can reason about conflicts and planning.
Attention: Not hosted yet. It runs locally as four services: the Javalin API, the React app, the Flask advisor, and the Rails share service. The advisor needs an OpenAI API key.
Built
2025
Who built it
Team project for COMP 350. I worked across the Java backend, the React frontend, and the AI advisor, and built the Rails share-link service on my own.
Built with
- Java
- Javalin 5
- Gson
- Apache Commons Text
- Gradle
- JUnit 5
- React 19
- Material UI 7
- react-dnd
- React Router 7
- Axios
- Python
- Flask
- LangChain
- FAISS
- OpenAI (GPT-4o-mini, text-embedding-3-small)
- PyMuPDF
- Ruby on Rails 8
- SQLite
- Active Storage
Not hosted yet - worth hosting
Cloudflare Pages for the React app, a container host for the Java API and the Python advisor
The strongest unhosted project on the list. The React app builds to static files and can go on Cloudflare Pages today. The Javalin API, the Flask advisor, and the Rails share service all need a real runtime, so they belong on a container host such as Fly.io or Cloud Run. The advisor costs money per request, so the cheap honest version ships the scheduler first and gates the chat behind a key with a cap.