finds.dev← search

// the find

echo-loop/Echo-Loop

★ 1,007 · Dart · AGPL-3.0 · updated Jun 2026

Echo Loop 是一款科学、高效的 AI 英语听说训练 App,通过盲听、精听、跟读、复述和间隔复习,自动驱动学习者把每一段音频真正练懂、练熟、练到会说。

Echo Loop is a Flutter app for English listening and speaking practice, built around a structured 5-phase learning loop: blind listening, intensive listening, shadowing, retelling, and spaced review. It targets Chinese-speaking English learners but ships as open source under AGPL-3.0. The methodology is grounded in actual SLA research, not gamification gimmicks.

The spaced repetition schedule is explicit and sensible — 6h, 1d, 2d, 4d, 7d, 14d, 28d — not a black-box algorithm you have to trust blindly. The Flutter stack (Riverpod with codegen, Drift for SQLite) is a solid choice for this kind of stateful, offline-first app; it avoids the mess that manual state management creates in multi-phase learning flows. They went native for audio decoding (AndroidAudioDecodeHandler.kt, iOS Swift counterpart) instead of fighting Flutter's audio abstraction layer, which is the right call for low-latency scrubbing. Integration tests are sharded into four groups, which is unusually disciplined for a mobile open-source project.

The AI features — transcription, translation, sentence analysis — all hit an undisclosed `API_BASE_URL` backend. You cannot run the full feature set without their server, and there is no documentation on costs, rate limits, or self-hosting. AGPL-3.0 will block anyone wanting to fork this into a commercial product without open-sourcing their entire service. The cross-platform badge claims iOS, Android, macOS, and Windows, but macOS is still in development and Windows is just planned — the badge is a lie at the time of writing. The README is Chinese-first with a separate English file that lags behind; any serious contributor who can't read Chinese will miss context in the main docs, issue discussions, and commit messages.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →