Inspiration

We saw the importance of time management and how being organized would help with our studies. We took inspiration from AntAlmanac, Google Calendar and Notion to create something similar but with a focus on helping automate the whole process of reading a syllabus and noting important due dates and assignments. Through streamlining this process, we are hoping to help students maintain a good study habit and reduce the stress of being overwhelmed.

What it does

ZotPlanner allows students to upload their syllabi which will process the grading weights of assignments and their due dates. Users can also manually input any other important dates or events into a calendar as well as manually calculate their grades.

How we built it

We used Vite and React with TypeScript for the frontend, hosted on AWS Amplify. Users upload a syllabus file, which is sent to an S3 bucket through a signed request generated by API Gateway. When a file is uploaded to S3, it triggers a Lambda function that uses Amazon Bedrock to extract class details using Claude. The processed class information is then saved into DynamoDB. Another Lambda function uses a GET endpoint through API Gateway, allowing the frontend to fetch and display the parsed class data in a user-friendly interface. IAM roles were configured to securely control access across services.

Challenges we ran into

The main issue that we ran into was understanding and using the polices and permissions that the AWS services have. Ensuring the proper permissions and policies for the AWS services and our code took up the most time and was the most pivotal for ZotPlanner to work.

Accomplishments that we're proud of

The main accomplishment that we were proud of was the connection of our code to the API Gateway to the S3 bucket. Since we had already finished the processor that took the things from the S3 bucket, when we had properly connected our frontend code to the API Gateway, a chain of satisfying successes allowed for most of our website to function.

What we learned

None of us had worked with AWS before, and this was the first hackathon for most of us. We learned how to use and connect several AWS services like Lambda, S3, API Gateway, DynamoDB, IAM, and Bedrock. We also got more comfortable with TypeScript and CSS, which we had very little experience with before. Along the way, we explored Express.js (even though we didn’t end up using it) and learned how to structure a full-stack app.

What's next for ZotPlanner

One thing that we would try to implement for ZotPlanner is png functionality for the syllabus upload. This would make the syllabus upload much easier because a screenshot would be all the user needs to get the weightings of their syllabus. Time slots within the actual calendar would also help the user better understand when things are due, or when things are happening visually. A functioning login would be another thing that we would wan to update ZotPlanner with so that each user can have all of their data saved and ready to use the next time that they open the website.

Built With

Share this project:

Updates