Skip to content

What Halflife is

A flashcard app that decides when to show you each card again, so you spend your time on the cards you are about to forget and not on the ones you already know.

How a session works

Pick a deck and press Review. You see the front of a card. Try to remember the back, then show the answer and be honest: Remembered or Forgot. That is the whole job. Space shows the answer, 1 and 2 grade it, and on a phone you tap.

Every grade sets the day the card comes back. Remembered cards come back later each time, forgotten cards come back soon. A card you get right five times might rest for a month. Nothing is ever lost: every card returns eventually.

Who decides the day

Two schedulers, and you can switch in Settings. Classic is the formula most flashcard apps have used since the 1980s. Halflife is a model that learned from thirteen million real reviews how quickly people forget, and keeps learning from reviews made here. The idea comes from a 2016 paper by Duolingo. Whichever you use, every card has a Why this date panel that shows the reason for its date in plain numbers.

The model does not schedule by default yet. It only takes over once it beats the formula on real reviews from this app, which is a test it has to pass in public. Until then it watches and records what it would have done.

Your cards, your data

You can start without an account. Your decks live in this browser until you keep them with a username and a password. There is no email, no verification, and nothing to unsubscribe from. Instead of a password reset you get one recovery code, shown once. Keep it somewhere safe.

Anything you make here you can take with you: every deck exports as a spreadsheet, your whole account exports as one file, and deleting the account deletes everything. Reviews are shared with the model as numbers only, never card text, and you can turn that off in Settings.

The only measurement beyond that is Vercel's: a cookieless count of page views, and how fast pages load on real devices. Neither knows who you are.

Free, and staying free

Halflife is one person's project, built for learning German and shared because it might help you learn something too. The data the model learned from does not allow commercial use, so there will never be a paid plan. The code is public.

Start reviewing

Credits and licences

The scheduler is half-life regression from Settles, B. and Meeder, B., A Trainable Spaced Repetition Model for Language Learning, ACL 2016. It is trained on the Duolingo learning traces released with that paper, licensed CC BY-NC 4.0. The weights derive from that data, so Halflife is non-commercial and will stay so. The authors' reference implementation (MIT) was the correctness check for the port.

The German starter deck was built from the FrequencyWords list by Hermit Dave, derived from OpenSubtitles and licensed CC BY-SA 4.0. The deck is published under the same licence; the English glosses and example sentences are original to this project.

Built with Next.js, FastAPI, PyTorch, Drizzle and Neon Postgres, on Vercel. Source on GitHub. 2026 Adi Vishnu Avula.