Inspiration

Being a student can be exhausting, and who would rather spend hours after class making flashcards when NLP could do it for you? We take care of the entire flashcard generation process so students can focus on studying for their next exam!

What it does

in:decks leverages the Cohere API to automatically process and create index cards from user-inputted text.

How we built it

  • Web App Frontend: Vue.js
  • Web App Backend: Flask
  • Input text processing: Co:here API, Python
    • Utilized the generate endpoint to create a question and answer for the index card
    • Utilized the generate endpoint to summarize long user input into a more concise and direct prompt
  • Semantic Similarity Analysis: Python, PyTorch, and GloVe pertained embeddings
  • Users can 'like' an index card if the generation was useful, and we will add it to our training dataset to make our algorithm even more accurate

Challenges we ran into

  • Connecting the frontend to backend
  • Dependency and compatibility issues
  • Finding values for the generate API endpoint that result in the best output (temperature, k, p)
  • Finding appropriate data to train Co:here model
  • Selecting the appropriate semantic analysis model with given resources

Accomplishments that we're proud of

  • Created a functional demonstration within the time given
  • Each other ❤️

What we learned

  • How to use Co:here’s API for text generation and summarization
  • How to complete basic similarity comparison tasks without available training data
  • NLP is very cool!

What's next for in:decks

  • Enable speech input (ie. lecture audio) and file input (ie. PDF file or Word document)
  • Incentives for students to study through gamification (point systems, rewards, challenges)
  • Other question modes (ie. matching, multiple choice, true or false)
  • Acquire more training data to improve model
  • Allow users to edit an index card and then we will update that in the training dataset
  • Our current model does not take into account sequence, only co-occurrence
  • Implement a personal user profile
  • Host on a web domain
Share this project:

Updates