Inspiration

Spaced repetition flashcard apps like Anki are a mainstay of my studying routine. I use them for school science classes, to study for extracurricular activities, and to learn languages. They're a great way to build long-term knowledge for certain types of information, and I'm generally a big fan. There's just one problem - making them takes a long time. Each flashcard, if done correctly, should hold a single piece of information, so making proper "atomic" flashcards means making a lot of them. My question going into this weekend was - could there be a better way?

What it does

Indx is a spaced repetition flashcard app that automates the process of making flashcards. You provide it with your text - for example, notes from class, the study guide, an article you found online, etc. - and it will turn it into a set of nicely-formatted spaced-repetition following best-practices (to learn more about those see here)

How we built it

Since AI is apparently the Next Big Thing, I figured I had to incorporate it into this somehow: it's a pretty logical fit for this task. The OpenAI api with GPT-4o was used to generate flashcards.

On the backend side, Koa (a framework by the creators of Express.js) was used. Nuxt.js & TailwindCSS comproise the frontend.

Accomplishments that we're proud of

I'm personally quite proud of the design. I spent a lot of type prototyping it in Figma before actually building it, and I think it paid off, even if the final product doesn't exactly match.

Link to design files

What's next for indx

A few of the features I would've liked to implement are:

  • AI-powered rephrasing of flashcard text (to prevent memorizing the "shape" of the words, a common problem)
  • Nested decks (decks inside other decks)
  • Ability to set spaced repetition algorithm parameters

Built With

  • gpt-4o
  • nuxt.js
  • vite
  • vue.js
Share this project:

Updates