Skip to content

A plug-and-play, UI-agnostic Swift toolkit for building and scoring language-learning exercises. 📚

License

Notifications You must be signed in to change notification settings

thatfactory/lingokit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

swift-version xcode-version spm-ready platforms docc license release

LingoKit

A plug-and-play, UI-agnostic Swift toolkit for building and scoring language-learning exercises. 📚

It supports activities across reading, writing, listening, and speaking by providing reusable exercise modules and consistent evaluation/scoring logic.

Instead of organizing by modality, LingoKit organizes by exercise type—such as intent classification, cloze, or ordering—allowing the same exercise to be reused across different contexts. For example, intent classification can work with written prompts (reading) or audio transcripts (listening).

This approach keeps UI and content flexible while making it easy to integrate well-defined challenges and receive consistent, comparable results.

flowchart TB
  subgraph HOST["Host App/Game"]
    FLOW["ExerciseFlow"]
  end

  subgraph LK[" "]
    ALL["LingoKit"]
    CORE["LingoKitCore"]

    IC["LingoKitIntentClassification"]
    CLOZE["LingoKitCloze"]
    ORDER["LingoKitOrdering"]
    TILES["LingoKitTileAssembly"]
    FTXT["LingoKitFreeText"]
    SPEECH["LingoKitSpeechScoring"]
    ETC["..."]
  end

  FLOW --> ALL

  ALL --> IC
  ALL --> CLOZE
  ALL --> ORDER
  ALL --> TILES
  ALL --> FTXT
  ALL --> SPEECH
  ALL --> ETC

  IC --> CORE
  CLOZE --> CORE
  ORDER --> CORE
  TILES --> CORE
  FTXT --> CORE
  SPEECH --> CORE
  ETC --> CORE
Loading