Lingua Motus โจ๐ค
March 5, 2026 ยท View on GitHub
An on-device ASL fingerspelling coach โ not a grader.
Lingua Motus (โlanguage of motionโ in Latin) is a Swift Playgrounds app that helps beginners practice ASL fingerspelling with real-time, supportive feedback.
Instead of giving a cold correct/incorrect, it tries to explain what to fix โ curl/straighten, touch/separate, rotate/orient โ so learning feels human, encouraging, and progress-driven.
โSimple can be harder than complexโฆโ โ Steve Jobs
๐ผ๏ธ Screenshots
| Home | Lesson | Splash | Custom Fingerspelling |
|---|---|---|---|
๐ฅ Demo Video: Coming soon
๐ฏ The problem
A lot of ASL apps stop at recognition:
- โ โCorrectโ
- โ โWrongโ
But thatโs not how humans learn. Beginners need direction, not judgment.
Lingua Motus is designed as a coach:
- Detect the hand pose live
- Reduce jitter + unfair snap judgments
- Generate actionable corrective guidance that tells you what to do next
๐ What makes it different
๐ง Coach-like corrective feedback (not pass/fail)
When a sign is off, the app tries to surface a high-level action you can actually apply:
- Curl / Straighten
- Touch / Separate
- Rotate / Orient
To make it intuitive, feedback is visualized using SF Symbol arrows placed near the relevant joint(s), so users learn what to move โ not just what they got wrong.
๐ป Ghost Hand overlay (visual guidance that feels natural)
A toggleable ghost-hand reference overlay appears directly over the camera preview to guide beginners in real time.
- โ Cleanly masked overlay
- โ Controlled by app state
- โ Designed to feel โbuilt-inโ, not patched on
๐ Custom fingerspelling practice (practice what you actually use)
Users can practice their own words/phrases, not random drills.
The flow ends with a satisfying completion moment (yes โ confetti โจ) to keep learning motivating.
๐ซณ Stability filtering (fair to shaky hands)
Beginners donโt hold perfect poses.
The pipeline smooths jitter and waits for more consistent frames before surfacing strong corrections โ reducing frustration and false negatives.
๐ฑ Responsive UI (iPhone + iPad)
Designed to adapt across device sizes and orientations, including iPad landscape.
โ Key features
-
Real-time on-device recognition
- Vision hand landmarks in real time
- Core ML letter + number classifiers (bundled
.mlmodelcresources)
-
Corrective hint generation
- Geometric checks + rule-based hinting for actionable feedback
-
Ghost Hand overlay
- Masked reference overlay on top of the live camera preview
-
Custom practice flow
- Fingerspell user-entered words/phrases + completion moment
๐งฉ Tech stack
- SwiftUI โ UI, navigation, state-driven overlays
- AVFoundation โ camera pipeline
- Vision โ hand pose landmarks + masking
- Core ML โ letters & numbers classification
- SIMD / vector math โ fast geometric checks for hinting
- JSON resources โ feedback + error rules
Resources/Feedback.JSONResources/ErrorChecks.JSON
๐๏ธ Project structure (high-level)
MyApp.swiftโ entry point, injects shared view modelsMainAppScreen.swiftโ routes onboarding/loading/home based on app stateViews/CameraView.swiftโ camera preview + ghost hand + feedback overlaysModels/CameraViewModel.swift+ ML helpers โ capture โ landmarks โ features โ prediction โ feedbackMLModel/โ compiled Core ML models (letter_classifier.mlmodelc,number_classifier.mlmodelc)
โ Requirements
- iOS 18.1+ (configured in
Package.swift) - Camera permission (requested with an explicit purpose string)
โถ๏ธ How to run
Option A โ Swift Playgrounds (recommended)
- Open the
.swiftpmproject in Swift Playgrounds - Run on iPhone/iPad (or supported simulator) and grant camera permission
- Start a lesson and practice
Option B โ Xcode
- Open the
.swiftpmpackage in Xcode - Select a real device (best for camera + performance)
- Build & Run
๐ Privacy
All recognition and analysis is fully on-device.
No video is recorded or saved.
๐ Credits
- Confetti effect adapted from JCโs tutorial:
โSwiftUI Tutorials: Designing a Dynamic Confetti Effectโ (May 8, 2024)
๐ค AI tooling disclosure
AI tools were used as assistants for:
- writing refinement
- design exploration
- development support (debugging/refactoring/math organization)
All outputs were reviewed, tested, and integrated manually.
๐ค Author
Youssef Ashraf
- Portfolio: https://youssef-ashraf.lovable.app/
- YouTube: https://www.youtube.com/@YooussefAshraf
- GitHub: https://github.com/yousseeefashrraf
๐ License
Apache-2.0