- Upload all project files to Val Town
- Set the Val type to HTTP Val
- Set entry point to
main.ts - Save and preview!
- Open the app in your browser
- Enter a username (any name you like - creates a new account)
- Create your first deck (e.g., "Spanish Vocabulary")
- Add some cards:
- Front: "Hello"
- Back: "Hola"
- Click "Study" to start learning!
When you study:
- Card shows the front (question)
- Try to recall the answer
- Click "Show Answer"
- Rate your recall:
- 🔴 Again: Didn't remember → see again tomorrow
- 🟠 Hard: Difficult → see in a few days
- 🟢 Good: Normal recall → see in ~1-2 weeks
- 🔵 Easy: Perfect recall → see in a month
The app learns which cards are hard for you and shows them more often!
flashcard/
├── main.ts # Entry point
├── README.md # Overview and features
├── ARCHITECTURE.md # Technical deep-dive
├── GETTING_STARTED.md # This file
│
├── backend/ # Server-side code
│ ├── index.ts # Hono app setup
│ ├── storage.ts # Blob storage
│ └── routes/ # API endpoints
│ ├── auth.ts # Login
│ ├── decks.ts # Deck CRUD
│ ├── cards.ts # Card CRUD
│ ├── study.ts # Spaced repetition
│ ├── stats.ts # Statistics
│ └── backup.ts # Export/import
│
├── frontend/ # Client-side code
│ ├── index.html # UI layout
│ └── index.js # App logic
│
└── shared/ # Shared code
└── types.ts # Types + SR algorithm
- ✨ Create unlimited decks and cards
- 🎯 Study with proven spaced repetition (SM-2 algorithm)
- 📊 Track your learning progress
- 💾 Backup/restore your data
- 📱 Works on mobile and desktop
Instead of cramming, this app:
- Shows cards at optimal intervals
- Focuses on cards you're about to forget
- Spaces out cards you know well
- Adapts to your learning speed
Result: Better retention with less time studying!
- Deck: "French Vocabulary"
- Cards: English → French translations
- Result: Build vocabulary naturally over weeks/months
- Deck: "Anatomy Terms"
- Cards: Term → Definition + location
- Result: Retain complex terminology long-term
- Deck: "Python Syntax"
- Cards: Concept → Code example
- Result: Memorize syntax patterns
- Deck: "World Capitals"
- Cards: Country → Capital city
- Result: Fun trivia learning
- ✅ Keep cards simple (one concept per card)
- ✅ Use clear, concise language
- ✅ Add context when needed
- ❌ Avoid long paragraphs
- ❌ Don't make cards too easy or too hard
- ✅ Study daily (even just 5-10 minutes)
- ✅ Be honest with ratings
- ✅ Focus on understanding, not just memorization
- ✅ Take breaks between sessions
- ❌ Don't cram before tests (start early!)
- Again (1): Completely forgot or got it wrong
- Hard (2): Struggled but eventually remembered
- Good (3): Recalled with reasonable effort
- Easy (4): Instant, effortless recall
Number of flashcards you've created across all decks.
How many times you've reviewed cards (each rating counts as 1 review).
Cumulative time spent in study sessions (hours and minutes).
Percentage of reviews rated "Good" or "Easy" (higher = better retention).
Detailed log of each study session:
- When you studied
- Which deck
- How long
- How many cards
- Success rate
- Protect against accidental data loss
- Move data between Val Town accounts
- Keep version history
- Share decks with others (JSON format)
- Click "Backup" in navigation
- Click "Download Backup"
- Save the JSON file somewhere safe (e.g., Google Drive, Dropbox)
- Click "Backup" in navigation
- Click "Choose File" and select your backup JSON
- Click "Restore Backup"
- Confirm (⚠️ this replaces current data!)
- Check if cards are due (new cards are due immediately)
- Make sure the deck has cards
- Try refreshing the page
- Did you use the same username?
- Check if you have a backup file
- Contact Val Town support if needed
- Stats calculate based on completed sessions
- Try logging out and back in
- Check backup file for data integrity
- Check Val Town status
- Try clearing browser cache
- Check browser console for errors
- Read ARCHITECTURE.md for technical details
- Read README.md for full feature list
- Visit Anki Manual to learn about spaced repetition
- Modify CSS in
frontend/index.htmlfor styling - Adjust SM-2 parameters in
shared/types.ts - Add new features (see README for ideas)
- Export decks as JSON
- Share with friends/classmates
- Contribute improvements
This is an open-source project built for Val Town.
For Val Town platform issues, see Val Town Documentation.
For spaced repetition questions, research the SuperMemo SM-2 algorithm.
Happy Learning! 🎓
Remember: Consistent daily practice beats intense cramming. The algorithm works best when you:
- Study regularly (even 5-10 min/day)
- Rate honestly (don't grade yourself too easily)
- Trust the process (cards will come back at the right time)
Good luck with your learning journey! 🚀