Karteikasten

About Karteikasten

This tool helps you learn "atomic" things like vocabulary, formula and everything else that fits on a card. It started as a learning project to tinker around with frameworks like Nuxt, Prisma and get better at TypeScript.

The code is OpenSource and available at GitHub. If you would like to support it, you can:

Star it on GitHub Buy me a coffee Patreon-Logo Become a patreon

How to use it?

Create a box for a topic you would like to learn (e.g. "German" or "Biology"). Then add cards to it, that represent small learning units you want to remember.

Inside your box click "Start Learning" to enter the learning mode. You will see the first card, which you can either answer, reveal, or skip.

Karteikasten will show you the cards which are most relevant to learn. This is based on your success in answering a card as well as the last time it was answered or revealed.

How to access boxes from another device?

The default authentication allows for anonymous usage in a single browser. If you want to access your boxes somewhere else, you need to login with a GitHub account

How was it developed?

The app is built with Nuxt3. It uses TRPC to create the Rest API and Prisma to communicate with a MySQL database. Authentication is provided by GitHub's API.

It uses TailwindCSS and Materialdesignicons for styling.

The production environment is deployed to Vercel. The database is served by Planetscale. App and database are hosted on a server in EU West, which means you might get a slower experience when accessing it from somewhere else.