Skip to content

tfcarlin/FlashCards

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FlashCards

Native iOS spaced-repetition flashcard app (SwiftUI, SM-2 algorithm).

Requirements

  • Xcode 15+ on macOS
  • iOS 16+ device

Build & Run

  1. open FlashCards.xcodeproj
  2. Select your iPhone as the run destination
  3. Signing & Capabilities → Team — set your Apple developer team
  4. ⌘R

Features

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

Deck JSON format (for import)

{
  "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.

SM-2 Algorithm

  • 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.

About

iOS spaced-repetition flashcard app (SwiftUI + SM-2)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages