The Silybi Story
Inspiration
Our friend "Alice" legitimately spends 3 hours each semester painstakingly putting all the information from her syllabi into her Google Calendar. We, being more practical, simply don't track due dates until we absolutely need to get a project or assignment done. This app reduces the immense up-front cost of recording all this data by handling it for us; allowing us the privilege of both not spending hours doing a monotonous and menial task while not having to forgo using a planner.
What it does
Sylabi is a simple website that allows a user to upload all of their syllabi at once. Then, using Perplexity AI, makes of a list of all due dates and exams listed on the syllabi. These are passed into a GoogleTasks list which is displayed on the user's Google Calendar.
How we built it
We conceived the fundamental project structure early on:
- A beautiful front end page
- Some AI parser to find schedule data
- A connection to Google Cloud
- A simple backend to connect all the pieces
Having 4 members, this number of parts worked out beautifully. We all started on our own individual parts while allowing enough modulation to piece them together. The front end and backend came along smoothly as those were the areas with the most experience. Completing these parts allowed us to work in groups of two to complete the much more difficult tasks of parsing the data and connecting to Google Cloud.
For those interested in the Tech Stack:
- Frontend is simple HTML+CSS+JS
- Backend is python with Django
- We used convertapi to change a pdf into a text file
- Perplexityapi to generate the json file for google-calendar
- Google Cloud was interfaced with google-api-python-client
Challenges we ran into
1) The predominant challenge was connecting to Google Cloud for tasks as the documentation was rather spotty and complicated. Getting a conceptual understanding of what was happening took up the majority of the development time - followed closely by figuring out what caused our vague error messages 2) Another challenge was the Perplexity AI hallucinating. We allowed for multiple response types to minimize failed loadings. When the AI hallucinated too much, we have to discard the data as its validity cannot be verified.
Accomplishments that we're proud of
1) Having the project work! 2) Connecting to Google 3) Using an API to convert PDF to JSON
What we learned
1) Google Cloud API is very difficult to use 2) Error catching is very necessary when interacting with GenAI 3) Tuning prompt for GenAI can make it more efficient
What's next for SilyBus
We will keep this as a personal tool to automate semester planning, but it is a little too insecure to be placed online at this moment. We will likely work on this issue so that we can share it with friends and possibly even strangers.
Built With
- django
- google-cloud
- perplexity
- python
Log in or sign up for Devpost to join the conversation.