Inspiration

I take notes all the time! In class, at home, pretty much every where. I've used so many different applications from Noteability, Notion, Excalidraw - but I've never found an application that had all the features I wanted and needed from an application.

What it does

It's a note-taking application with AI-integration, infinite space & zooming, bookmarks, and many additional features - such as being able to export & import canvases.

How we built it

The application was built with the following foundations:

  1. Global Canvas to maintain the entire state of the canvas.
  2. CameraProvider / CameraContext which maintains the panning & zooming of the canvas.
  3. ScreenCanvas which is the portion of the global canvas which is viewable (all elements or strokes are stored in the world position coordinates)
  4. AiPanel which is essentially the communication point between the Gemini API and the canvas, it's what takes the output & maps it to the canvas
  5. FastAPI backend, which is where the API is connected to

Challenges we ran into

The biggest challenge I ran into is with the AI. I had a really hard time making the Gemini API actually output what I was promoting. This is difficult because Gemini API is essentially a large language model, making it good at DESCRIBING diagrams but not good at creating drawings.

Accomplishments that we're proud of

It was a super fun product and I can definitely see myself continuing to iterate on this project!

What we learned

I learned a lot about the canvas element - I think the capabilities of canvas is very rarely explored, so it was super fun to learn about and work with!

What's next for Notely

A next step would be improving the AI by adding stricter safeguards and further ways to map the output. I think I'd also like to implement more features, and lead the AI in a Notion-esque direction.

Built With

Share this project:

Updates