LIVE PREVIEWBUY FOR $28

The schedule is arithmetic. The mannequin solely writes the playing cards.

Flashora decides when each card comes again with SM-2 — the spaced repetition algorithm revealed for SuperMemo 2 and the ancestor of most schedulers in use at present — operating in plain Dart on the machine. Grade a card and the following date follows from its ease issue and its final interval. Run it twice and also you get the identical reply, which is why the bundled checks can assert on a schedule.

Flashora — Flutter AI flashcards and spaced repetition

An AI supplier is requested to do precisely one factor: draft card textual content from a block of the consumer’s notes, or from {a photograph} of a web page. It’s by no means requested when a card is due, by no means requested to grade a solution, and by no means requested what the consumer is aware of. Flip each supplier off and also you lose drafting; reviewing, scheduling, the statistics and the entire library maintain working.

Runs out of the field

Demo Directions — the sign-in display is a mock and contacts no server, so any credentials are accepted. Use [email protected] / demo1234, or just faucet Check in with each fields left empty. There isn’t a account to register, no API key to enter and no community required: Demo mode is on out of the field, so each display — together with card drafting — works on the machine. Onboarding has a Skip within the nook.

It runs before you type anything — no server, no account, no key required

It runs earlier than you sort something. Open it, research the pattern library that’s already there, and draft playing cards from your individual notes — all 4 of these work on a contemporary set up with no key and no connection. A secret’s the fourth step, not the primary.

AI disclosure

This template contains AI options, and that is what they do. At run time a mannequin is requested for one factor solely: to draft the back and front textual content of flashcards from materials the consumer provides — typed notes, or {a photograph} of a web page they take themselves. Each draft lands in a evaluate checklist the place the consumer accepts, edits or discards it separately; nothing a mannequin writes turns into a card with out that step. Who gives it and who pays: you carry your individual API key from Google, OpenAI or Anthropic and are billed by that vendor immediately; this merchandise contains no key, no credit and no proxy, and makes no cost of its personal. With out a key: the app is totally usable — Demo mode drafts playing cards from the consumer’s notes on the machine with no community name in any respect, and reviewing, the SM-2 scheduler, the statistics, handbook card writing and backup by no means contain a mannequin beneath any configuration. The belongings on this bundle aren’t AI-generated: there are not any images, no illustrations and no picture recordsdata of any type — each mark, card, shelf and chart is painted by a CustomPainter at run time — and the pattern decks, the documentation and all supply code have been written by the creator.

What it takes to run

No backend. No Firebase. No account anyplace. The app ships with three pattern decks, fifty playing cards and ninety days of evaluate historical past, so the primary display has one thing on it, and whereas that pattern is loaded the app pins “at present” to the pattern’s personal date — which is why the screenshots, the dwell preview and the checks all agree with one another.

flutter pub get
flutter run

That’s the complete setup. The undertaking sits on the root of the archive; there isn’t any wrapper folder to step into.

Reply, then say the way it went

Four buttons, four different answers — each grade button prints the interval it would produce

The reply grows out of the cardboard beneath a stroke of highlighter quite than flipping it away, so the immediate continues to be there when the consumer checks their recall towards it. Then 4 grade buttons, every printing the interval it might produce earlier than it’s pressed. Most apps cover that quantity and the scheduler finally ends up feeling arbitrary; displaying it prices nothing, as a result of the scheduler is a pure perform and asking it 4 hypothetical questions is free.

The schedule is arithmetic

SM-2 in plain Dart on the device — what is computed here, and what a model is asked for

SM-2 in plain Dart, on the machine, with no clock of its personal. A card graded Good each time follows 1, 6, 15, 38, 95, 238 days — and that sequence is pinned by a take a look at, not asserted by a sentence in an outline. Each card carries an ease issue that begins at 2.5 and strikes by the revealed components after every reply, with a flooring at 1.3. New playing cards undergo quick studying steps first; Exhausting and Straightforward get their very own multipliers in order that 4 buttons actually do imply 4 issues.

Paste a web page. Hold what’s value retaining.

Notes or a photograph become a list of drafts you triage one at a time

Notes, or {a photograph} of 1. The drafts come again as an inventory to triage: edit, discard, undo a discard, then add the survivors in a single press. Nothing lands in a deck unread — which issues extra right here than in most AI options, as a result of a mistaken card is a mistaken truth the consumer will then rehearse for a 12 months. Playing cards drafted this manner keep marked as drafted.

You’ll be able to learn precisely what will get despatched

The drafting screen opens the literal request text, with the user's notes in it

One panel on the drafting display opens the literal textual content of the request, with the notes already in it. Not an outline of the immediate, not a redacted model — the string the app is about to submit. Three suppliers, carry your individual key, plain REST with no vendor SDKs. The important thing stays within the machine’s encrypted retailer and is shipped to no one else.

The place a deck stands

Five Leitner rungs per deck, as a picture of the interval

5 compartments per deck, holding the perimeters of the playing cards filed in every, with the one which has playing cards ready outlined within the highlighter. Six decks on one display, and the form of every stack says “this deck is new”, “this deck is mature”, “this one has a pile-up on the entrance” and not using a single quantity. It’s a image of the interval, not a second scheduler — SM-2 alone decides when a card comes again.

The deck fades as you overlook it

Every card drawn at the ink density of its estimated retention, faintest first

Each card in a deck is drawn on the ink density of its estimated retention, sorted faintest first. A card slipping out of reminiscence is actually more durable to learn — the checklist exhibits you the issue as a substitute of naming it. The estimate is the basic forgetting curve, anchored so a card reads 90 % on the day it comes due. It’s labelled an estimate in every single place it seems, it isn’t personalised, and it schedules nothing.

The place the library lives

Within the telephone’s encrypted retailer — Keychain on iOS, EncryptedSharedPreferences on Android — by way of one class you possibly can change. There isn’t a account, no sync, no analytics and no server belonging to this template. Settings has a button that copies the entire library to the clipboard as JSON and a restore that reads it again, and a button that deletes every thing.

A buildable app, not a mockup

What is in the download — screens, tests, documentation, dependencies

  • 15 screens, gentle and darkish, all wired up — no placeholders
  • 4 grade buttons, every with a unique interval
  • 5 shelf rungs, from Studying to Long run
  • 3 AI suppliers, plus an offline demo mode
  • 5 dependencies, no vendor SDKs
  • 128 checks, and flutter analyze runs clear
  • 18 chapters of offline documentation, with two GIFs of the interactions in movement
  • 0 traces of backend to deploy

What just isn’t included

  • No notifications of any type. There isn’t a push and no local-notification dependency to configure. Playing cards which are due are proven as a rely on the Research tab; a reminder that arrives on the lock display is your work, and the documentation says the place it might go.
  • No backend and no admin panel. Signal-in and the paywall are mocks with the seams drawn for you; wiring your individual API and your individual retailer merchandise is your work.
  • No Anki import. Studying an .apkg file means a SQLite database inside a zipper, and that may be a function quite than a element. Import and export are JSON, within the app’s personal schema.
  • No deck sharing and no group decks. Each want a server, and this template doesn’t have one.
  • Card faces are textual content. A card carries a entrance, a again and an optionally available trace. {A photograph} is an enter to drafting; it isn’t saved on the cardboard and by no means turns into the entrance or again of 1.
  • No fee code. Receipt validation wants a server and can’t be pre-built. SubscriptionService.buy() is the one seam to switch. Three gates are actually enforced — the every day drafting allowance, three decks, and 100 playing cards per deck; the rest you gate is your work.
  • No Figma file. Each display is Flutter.
  • The library doesn’t sync between units. That’s the level of the design, and the app says so in its personal About display — which additionally says, in as many phrases, that no one can restore a misplaced library for you.

Necessities

  • Flutter SDK 3.29 or newer, Dart 3.7+
  • Android Studio or VS Code
  • Android and iOS. An online construct works and is what the dwell preview is constructed from.
  • An API key from Google Gemini, OpenAI or Anthropic — optionally available, and free to skip: demo mode wants none.

Essential

Playing cards drafted by a mannequin are a primary cross, not a checked supply. A mannequin can misinterpret a phrase on {a photograph} or phrase a solution extra confidently than the fabric helps, which is why each draft goes by way of a evaluate step earlier than it turns into a card. The retention figures are estimates produced by a typical forgetting curve, not a measurement of what anyone remembers.

The AI options are produced by a third-party supplier the consumer provides their very own key for. Connecting this template to a dwell service comparable to Google Gemini, OpenAI or Anthropic will contain these third-party companies, which will incur their very own separate prices, not included within the value of this merchandise. Free tiers and costs are set by every vendor and might change with out discover. Demo mode makes no community calls.

Help

Questions on setting the template up, connecting a supplier or re-skinning it are answered by way of this merchandise’s feedback web page. Merchandise assist covers this template; it doesn’t cowl a supplier’s personal account, quota or billing.

Changelog

v1.0 — first launch.


Source