Så bygger du en flashcard-app med spaced repetition
En flashcard-app är kortlekar, en repetitionsvy som vänder på varje kort, och en schemaläggare som avgör vilka kort du ser idag. Schemaläggaren är det som skiljer ett användbart studieverktyg från en digital hög med pappersfiches: med spaced repetition kommer kort du kan tillbaka sällan och kort du kämpar med kommer tillbaka snart. Bygg repetitionsvyn och en enkel schemaläggare först; lägg till import, bilder och ljud efteråt.
Vad en flashcard-app behöver
Data
| Tabell | Fält |
|---|---|
| Kortlekar | Ägare, namn, beskrivning, offentlig eller privat |
| Kort | Kortlek, framsida, baksida, valfri bild eller ljud, taggar, skapat datum |
| Kortstatus | Användare, kort, förfallodatum, intervall, ease eller svårighet, antal repetitioner, misslyckanden |
| Repetitioner | Användare, kort, tid, betyg (Igen / Svårt / Bra / Enkelt), tid det tog |
Håll kortstatus separat från själva kortet. Om kortlekar delas behöver två personer som studerar samma kort var sitt förfallodatum. Behåll varje repetition också: det är historiken du behöver för att förbättra schemaläggaren, visa framstegsgrafer eller byta algoritm senare.
Sidor
- Kortleksslista med hur många kort som är förfallna idag i varje.
- Korteditor – snabb inmatning är viktig. Framsida, baksida, spara, nästa. Tangentbordsgenvägar på datorn.
- Repetitionsvy – visa framsidan, tryck för att visa baksidan, betygsätt med en av fyra stora knappar. Den här skärmen står för 90 % av appens användning.
- Statistik – kort repeterade per dag, återkallelse, kommande arbetsbörda.
- Import – från CSV eller tabbseparerad text, vilket de flesta andra flashcard-verktyg kan exportera.
Välja en schemaläggningsmetod
Du behöver inte uppfinna något här. Tre välkända metoder:
| Metod | Hur den fungerar | Bra för |
|---|---|---|
| Leitner-lådor | Kort flyttas upp en låda när de besvaras rätt och tillbaka till låda 1 när de besvaras fel; varje låda repeteras mer sällan | Enklast att bygga och förklara |
| SM-2 | Varje kort har ett intervall och en ”ease” som växer eller krymper med ditt betyg | Beprövad, mycket kopierad, enkel att testa |
| FSRS | Modellerar hur sannolikt du kommer ihåg varje kort och schemalägger för ett målvärde för återkallelse | Mer exakt; Anki erbjuder den som alternativ |
För version ett, välj Leitner eller SM-2. Skriv reglerna i din prompt med ett utarbetat exempel, till exempel: ”Ett nytt kort som betygsätts Bra förfaller om 1 dag, sedan 3 dagar, sedan ungefär 2,5 gånger föregående intervall varje gång det betygsätts Bra. Betygsätts det Igen förfaller det igen om 10 minuter och intervallet nollställs.”
Oavsett val, be AI:n lägga schemaläggaren i en separat funktion med tester. Då kan du byta ut den senare utan att röra resten av appen.
Beslut att fatta
Vems dag är det? ”Förfallen idag” bör följa användarens tidszon, och många studieappar låter dagen byta vid en tidpunkt som 04:00, så att en sen kvällssession räknas som samma dag.
Dagliga gränser. Utan tak för nya kort per dag lägger en ivrig användare till 500 kort och står inför en omöjlig repetitionshög en vecka senare. Ha något måttligt som standard och låt folk ändra det.
Korttyper. Enkla framsida/baksida först. ”Omvända” kort (testar även baksida till framsida) och cloze-luckor (fyll i luckan i en mening) är populära, men varje lägger till regler. Lägg till dem när det grundläggande fungerar.
Delade kortlekar. En lärare som delar en kortlek med en klass är en bra funktion och en behörighetsfråga: elever studerar den men kan inte redigera den, och lärarens ändringar bör nå alla utan att nollställa deras framsteg.
Offline. Folk studerar på tåg och flyg. En progressiv webbapp kan cacha dagens kort, men att synka repetitioner från två enheter offline är verkligen svårt. Enbart online är en rimlig första version. Vår guide om native kontra progressiva webbappar förklarar alternativen.
En första prompt som fungerar
Bygg en flashcard-webbapp designad för telefoner först. Användare loggar in och skapar kortlekar, och lägger till kort med en framsida och baksida (text, med valfri bild). Varje användare har sin egen repetitionsstatus per kort: förfallodatum, intervall, ease, antal repetitioner och misslyckanden. Använd SM-2-algoritmen: betygen Igen, Svårt, Bra, Enkelt; Igen nollställer intervallet och visar kortet igen om 10 minuter. Lägg schemaläggaren i en egen testad funktion. Repetitionsvyn visar framsidan, en stor knapp ”Visa svar”, och sedan fyra stora betygsknappar. ”Förfallen idag” använder användarens tidszon, med dagen som börjar kl. 04:00. Begränsa nya kort till 20 per kortlek och dag som standard. Logga varje repetition. Visa en kortleksslista med antal förfallna och en enkel statistiksida med repetitioner per dag. Lägg till CSV-import med kolumnerna framsida och baksida. Spara allt i en databas.
Byggsteg
- Kortlekar och kort. Skapa två kortlekar och tjugo kort. Kontrollera hur snabbt du kan lägga till ett kort.
- Repetitionsvyn. Studera på en telefon. Det ska kännas omedelbart; varje fördröjning mellan kort känns hundratals gånger om dagen.
- Tester för schemaläggaren. Ge AI:n en tabell med betygssekvenser och förväntade intervall, och kontrollera resultaten. Ändra sedan klockan på enheten eller be om ett testläge för att simulera de kommande dagarna.
- Dagliga gränser och tidszon. Repetera sent på kvällen och bekräfta att nästa dags kö är rätt.
- Import. Importera en riktig CSV med några hundra kort och kontrollera specialtecken, kommatecken i kort och radbrytningar.
- Statistik. Repetitioner per dag och kommande antal förfallna. Håll graferna enkla.
- Extra. Bilder, ljud för språkkort, omvända kort, delade kortlekar – ett i taget.
Vanliga misstag
- Att lagra förfallodatumet på kortet. Det måste vara per användare.
- Att kasta bort repetitionshistoriken. Du kommer att behöva den för statistik och för en eventuell framtida schemaläggare.
- Ingen gräns för nya kort. Användare bränner ut sig på en vecka.
- Små knappar. Betygsättning sker med en hand; gör knapparna stora och tillräckligt långt ifrån varandra för att undvika felknapptryck.
- Ingen ångra-funktion för senaste betyget. Felknapptryck sker dagligen.
- Serverns tid för ”idag”. Använd användarens tidszon.
- Att nollställa framsteg när ett kort redigeras. Att rätta ett stavfel bör inte skicka ett moget kort tillbaka till start.
När en färdig produkt är det bättre valet
Om du bara vill plugga finns mogna flashcard-appar redan, flera av dem gratis, med år av arbete på schemaläggning, synk, offlineanvändning och delade kortlekar. Anki i synnerhet har ett stort bibliotek med kortlekar skapade av gemenskapen. Använd dem.
Bygg en egen när korten är en del av något större: en kurs du säljer där flashcards förstärker varje lektion, en språkskola som ger elever kortlekar kopplade till sin läroplan, ett företag som lär ut produktkunskap till personal, eller ett ämne med korttyper som de allmänna verktygen hanterar dåligt. Du äger innehållet, designen och elevdatan. Kombinera med en quiz-app för prov, eller bygg in den i en plattform för onlinekurser.
Bygga det med Mythex
Mythex bygger detta som en webbapp som du kan öppna på vilken telefon som helst och lägga till på hemskärmen. Beskriv appen i chatten, granska repetitionsvyn i förhandsgranskningens telefonstorlek, och be om konton och sparad framsteg – Mythex lägger till en dedikerad databas när appen behöver den, och fillagring om korten har bilder eller ljud. På Pro kan Mythex dessutom paketera den som en Android- och iPhone-app, som skickas till intern testning i Google Play och TestFlight. Använd Frågeläge för att låta agenten förklara sin schemaläggningsfunktion innan du litar på den, och publicera till en mythex.ai-länk när den fungerar.
Frågor
Vad är spaced repetition?
Spaced repetition visar ett kort igen precis innan du sannolikt glömmer det. Kort du kan väl kommer tillbaka efter allt längre luckor; kort du missar kommer tillbaka snart. Det gör studietiden mer effektiv än att repetera allt lika ofta.
Vilken spaced repetition-algoritm bör jag använda?
För en första version räcker ett enkelt Leitner-lådsystem eller SM-2, som är lätta att testa. FSRS är en nyare och mer exakt schemaläggare som Anki erbjuder som alternativ; den är värd att överväga när du har repetitionshistorik att finjustera den med.
Kan en flashcard-webbapp fungera offline?
Delvis. En progressiv webbapp kan cacha appen och dagens kort så att repetitionerna fungerar utan anslutning, och synkar sedan när anslutningen återkommer. Att synka repetitioner gjorda offline på två enheter kräver noggranna sammanslagningsregler, så många första versioner förblir enbart online.
Kan jag bygga en flashcard-app utan att koda?
Ja. Ett AI-byggverktyg kan skapa kortlekar, kort, repetitionsvyn och schemaläggningen från en beskrivning. Ge det exempel med utarbetade schemaläggningsregler och kontrollera dem, eftersom den logiken avgör om appen hjälper folk att lära sig.