Skip to main content

Current status

SkellySpeak is a working proof of concept. The source of truth for application version is native/Cargo.toml; this page deliberately does not duplicate the number.

Implemented

  • Guided, streamed conversation and the meaning-domain Skill tree.
  • English, French, Spanish, Arabic, and Mandarin as symmetric target/native languages, including RTL, segmentation, dialect, and romanization metadata from native/src/languages.rs.
  • Per-turn token glosses, translation, grammar mechanics, reply scaffolds, and private coach feedback.
  • A persistent, interactive coach thread that the conversation partner never sees.
  • Teaching-plan/profile memory updated by a non-overlapping background observer.
  • Multiple resumable conversations per language pairing and custom personas.
  • Hosted Google sign-in, bring-your-own OpenRouter/Groq keys, and custom OpenAI-compatible chat servers.
  • Native credential storage, atomic JSON persistence, strict request routing, bounded retries, and surfaced errors.
  • Microphone input, cloud or OS speech playback, playback-rate control, caching, and cancellation.
  • Bounded local traces across restarts, per-attempt requests and effective parameters, reply/suggestion prompt blocks, request comparison and scoped export.
  • A generated execution graph, reconciliation, and pause/resume/step controls.
  • Topic explanations/examples and an edit-time reference to original coach feedback.
  • Desktop update checks and CI workflows for desktop, Android, iOS, server, and documentation builds.

Known limitations

  • Tokenization, glossing, translation, and grammar analysis still use model calls. The planned local dictionary layer is described in Future Work.
  • There is no vocabulary/SRS subsystem or dedicated first-run onboarding flow.
  • Automated frontend tests mock the Tauri IPC boundary. There is no end-to-end suite driving a packaged app and the real Rust core.
  • Native microphone, credential-vault, signing, installation, and update flows require platform/device verification. Desktop unit tests cannot establish those claims.
  • Model traces contain prompt and output text and are intended for local diagnostics; they are not anonymized telemetry.
  • Prompt editing/overrides and complete operation provenance remain proposed work; see Observability.
  • The Skill tree displays a local target-language profile with evidence-derived XP, checks/stars and saved practice focus. Previous rubric evidence remains inspectable without new-skill credit. The evaluator is not calibrated as a proficiency assessment. Browser mode uses labeled fixtures; profile switching remains future work. See the progression design.

Verification

The maintained checks are defined in .github/workflows/ci.yml:

npm test
npm run build

cd native
cargo clippy --lib -- -D warnings
cargo test --lib

cd ../server
uv run --frozen --group dev pytest -q

cd ../skellyspeak-docs
npm run build

Firestore-emulator, native-device, signing, and live-service checks are separate because they need their corresponding environments.

Planning

The live roadmap is generated from GitHub on the site's Roadmap page. Dated audit reports are historical evidence, not the current backlog.