Skip to content

gordonzhang1/ShakespeareAI

Repository files navigation


ShakespeareAI

ShakespeareAI is a AI digital note-taking web app that quizzes you based on your handwritten notes in real-time. Press Quiz Me, and ShakespeareAI transforms your notes and drawings into a personalized set of questions, helping you retain information more effectively.
View Demo »

Visit Website · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Contributing
  5. Contact

About The Project

Logo

ShakespeareAI is a digital notetaking app built with a React frontend and a Node.js backend. It uses Firebase for user authentication and Firestore to store user data.

How it works

When the user finishes taking notes and presses the "Quiz Me" button, the app captures an image of the handwritten notes via the HTML canvas graphic. This image is then sent via a POST request to the backend, which includes Google's Cloud Vision API. The API processes the image using optical character recognition (OCR) to detect and extract the handwritten text. The response from the API contains the recognized text, which is parsed and formatted by the app.

Next, the extracted text is sent to the OpenAI API with additional parameters on the type of content to generate. OpenAI’s GPT model processes the text, analyzing the context and generating a list of relevant questions based on the content. This can include multiple-choice questions, true/false questions, or open-ended questions, depending on the text

The generated questions are returned in the response to the app, which then displays them to the user in an easy-to-navigate interface. The user can now review the material, reinforcing their learning by answering the questions.

The frontend of is deployed on Vercel, and the backend is deployed on Render.

Built With

  • React
  • Node.js
  • OpenAI API
  • Cloud Vision API
  • Firebase
  • Firestore

Deployed With

  • Vercel
  • Render

(back to top)

Features

  • Digital Note-Pad: A note-taking experience that allows users to write, draw, erase, and change colour on a canvas. Additionally, users can also add new pages, delete pages, and clear pages, all which is saved to their account
  • Quiz Generation: After taking notes, users can press "Quiz Me" to generate a set of questions based on their notes.
  • User Authentication: Secure sign-in and registration using Firebase for user management, along with forgot password and update profile fuctionalities.
  • Data Storage: Store user data and notes in Firestore for easy access and management.
And more to come!

(back to top)

Getting Started

Want to try ShakespeareAI out? Go to www.shakespeareai.ca and sign up. Once logged in, write the first fact that comes to mind, and press Quiz Me.

(back to top)

Usage

Here are some pictures of this web app in action.

Logo

Logo

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

Contact

Gordon Zhang - [email protected]

Project Link: https://github.com/gordonzhang1/ShakespeareAI

(back to top)

About

Full-stack AI digital note-taking website that quizzes you based on your handwritten notes in real-time

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published