Inspiration

The inspiration for our project came about due to us deciding that we wanted to provide something useful to our community. We realized that many students are required to use Canvas, so we looked into how we could improve that particular student experience.

What it does

AskCanvas uses AI in order to answer questions students may have regarding their classes, assignments, and deadlines. This helps students effortlessly keep organized and improve their workflow.

How we built it

The languages used to build this include HTML, CSS, and JavaScript.

We have three main components:

  • ask-canvas-web which represents the frontend that glues everything together.
  • canvas-api this endpoint takes care of all the canvas api requests and runs as a serverless function (worker) on Cloudflare.
  • answers-api this endpoint receives the question and forwards it along with the canvas data to the llm.
    • this is another cloudflare serverless worker
    • the model we're using is gemini-1.5-flash.

Challenges we ran into

A challenge we came across was how we wanted to handle getting the user’s Canvas information. We originally didn’t want to have to ask the user for their Canvas token. Canvas has Oath2 functionality, but for that to be enabled, we would require the SFSU Infrastructure folks to create for us. We asked them and we were denied. Another option we investigated was bundling this app as a chrome extension. Eventually, we realized that looking for and downloading a chrome extension was the same amount of work on the user’s end. We also realized that working with a chrome extension was a bit more buggy and unwieldy in terms of coding and testing so we decided to scrap the extension completely.

Accomplishments that we're proud of

The biggest thing for us was how much we accomplished in the little time we collectively had to work on this.

What we learned

There were a lot of first for both of us. First of all the two members of our team have never worked together on any project before. So we learned that we made a pretty good team. Also, this project exposed us to services technology we had never used before.

What's next for Ask Canvas

While we can get audio input, we currently don’t have the feature to take the AI response and turn it into audio output. This Text-To-Speech functionality that we would like to add in the future.

Built With

Share this project:

Updates