Native iOS spaced-repetition flashcard app (SwiftUI, SM-2 algorithm).
- Xcode 15+ on macOS
- iOS 16+ device
open FlashCards.xcodeproj- Select your iPhone as the run destination
- Signing & Capabilities → Team — set your Apple developer team
- ⌘R
| Feature | Detail |
|---|---|
| Deck management | Create, delete, export/import decks |
| Card editor | Add Q&A cards, delete with swipe |
| Study session | SM-2: Again / Hard / Good / Easy |
| Progress tracking | Due, New, Mastered counts per deck |
| Import | Load any .json deck via Files / AirDrop |
| Export | Share deck JSON via standard share sheet |
{
"id": "any-uuid",
"name": "My Deck",
"description": "Optional",
"createdAt": "2025-01-01T00:00:00Z",
"cards": [
{
"id": "any-uuid",
"question": "Question text",
"answer": "Answer text",
"interval": 0,
"easeFactor": 2.5,
"repetitions": 0,
"dueDate": "2025-01-01T00:00:00Z",
"lastReviewed": null
}
]
}A sample deck (SampleDecks/DisruptiveInnovation.json) is included.
Copy it to your iPhone via AirDrop or Files, then use the import button (⬇) in the app.
- Again — repeat in same session, reset interval
- Hard — correct but difficult; shorter interval, lower ease factor
- Good — standard SM-2 interval progression
- Easy — interval boosted ×1.3, ease factor increases
Cards are considered mastered once their interval reaches 21+ days.