Inspiration

We wanted to solve a problem that I and many other college students face all the time: important information is scattered everywhere.

A syllabus can hold assignment deadlines, exam dates, grading rules, office hours and other vital data. Every professor formats their syllabus in a different way. Keeping track of these details usually means students must read documents by hand and manually copy dates into a calendar or task manager, a process.

We wanted to make that process simpler. Of asking students to organize all of this information themselves we wanted to build something that could take the information students already have and turn it into a more useful centralized view of students’ semester in a few clicks of a button.

That idea became Syllo.

What it does

Syllo is like a college planning dashboard that focuses on a student’s courses and syllabi.

Students can upload their course information and syllabi from a file linked to their Canvas courses. Syllo then processes that information to identify academic details such as assignments, exams, due dates and other important course events. Syllo organizes that information into a dashboard so students can see all events without repeatedly searching through individual syllabus documents or manually entering data.

How we built it

Syllo’s web application was built with React and TypeScript while Vite and Lovable handled the frontend development and build process. We used Tailwind CSS for the interface and styling.

We used Lovable during development to build and iterate on the frontend and connect the different components of the application. Our website’s code lives on GitHub, which lets us collaborate and work on parts of the project simultaneously.

For the document-processing side of Syllo we built a Python backend that takes course data mainly.epub files and parses the content into a file format that the NVIDIA Nemotron AI model can easily understand and interpret. The backend then outputs a standardized.json file that the frontend can process.

We added the NVIDIA Nemotron to help interpret information from course materials of relying solely on rigid rules that may not match each professor’s Canvas setup. Every professor uses Canvas differently for the course they teach.

A major part of our development was defining a structure for the information extracted from these documents. Once the information is structured the frontend can display it consistently no matter how the original syllabus was formatted.

Challenges we ran into

One of our challenges was the inconsistency of syllabuses and the parsing of the.epub file.

There is no format that professors follow. Important information can appear under headings be formatted in various ways or be presented in a manner that is hard for a typical computer to interpret accurately and consistently.

This made the document-processing part more complicated than merely searching for specific words or patterns. We had to consider how an AI model could interpret the context of information while still producing data that the rest of the application can reliably use and display.

We also had to balance the amount of functionality we wanted with the time we had. Many ideas seemed attractive. We had to prioritize getting the core experience working instead of trying to build everything at once. Handling system errors also took a portion of our time.

Another challenge we faced was properly connecting the frontend, backend, document processing and AI functionality into one workflow. Each component could work alone. Making them communicate reliably was a different problem.

Accomplishments we're proud of

We are proud that Syllo moved from an idea about making college planning easier to a working application with a dashboard and syllabus-processing workflow.

We are especially proud of tackling the part of the problem: turning differently formatted course documents into structured information that the application can actually use.

Of designing the project around one perfectly formatted example we built the foundation around the variety of documents students actually encounter.

What we learned

We learned that building an application around real-world data is more complicated, than building around idealized examples.

A feature that sounds simple—such as extracting a date from a syllabus—can become much more complicated when the source documents have different structures and formatting. We learned to think carefully about data validation, edge cases, structured data and how information should be represented before it reaches the user interface.

We also learned how different technologies fit together in a full‑stack application. Working with React, TypeScript, Python, AI models, GitHub, Lovable, ChatGPT and Claude gave us experience moving beyond a feature and thinking about how an entire application works as one system.

Importantly we learned that getting the core workflow working is more valuable than trying to build every possible feature at once. Those expansions of features happen with time.

Whats next for Syllo

There is still a lot we would like to build. The current project establishes the foundation for a complete college planning system and future development could expand the dashboard improve syllabus parsing add more ways to organize academic information and make the system more useful throughout an entire semester.

For now the core idea is working: Syllo takes information students already have. Turns it into something more organized and accessible, for them.

Built With

Share this project:

Updates

Submission history