Skip to content
EducationAndroidiOS

Aqute v2

A podcast app with per-episode comprehension quizzes — background playback, local favorites, and a scored quiz history

A Flutter podcast app: search and browse a live third-party podcast catalog, play episodes with a persistent background audio player and lock-screen controls, and — for episodes carrying an authored quiz in Firestore — take a scored multiple-choice comprehension quiz with instant right/wrong feedback. Favorited shows and completed-quiz scores are tracked locally on-device, browsable later in a dedicated quiz-history screen.

Aqute v2 — app screenshot
Aqute v2 — app screenshot
Aqute v2 — app screenshot

Source is private. The per-episode quiz schema, the offline score history and the background-audio stack are explained below.

About this project

The app is built around one loop: find a podcast, follow it, listen, and — where a quiz exists for that episode — get tested on it. Podcast and episode data (search, a best-podcasts chart, podcast/episode detail) is pulled live from a third-party podcast-data API rather than a proprietary content backend. Audio plays through a dedicated background-audio stack (audio_service + just_audio, with lock-screen/notification controls) and a persistent mini-player keeps the current episode visible while the user browses the rest of the app.

Quizzes are authored per episode: questions are stored per podcast/episode in a nested Firestore collection, fetched when the user opens an episode with a quiz attached. Each question renders as four radio-button options in bordered cards; submitting an answer flips the selected and correct options to red/green in place, a back/next flow steps through the question set, and a finish screen totals the score. Completed quizzes and their scores are written to a local SQLite database (alongside a separate table of favorited/subscribed podcasts), so the app's 'Your Quizzes' screen and 'My Shows' list both work fully offline against on-device data rather than round-tripping to a server on every open.

My part covered the mini-player integration, stabilization passes and the quiz answer-selection flow.

Key features

  • Live podcast search, a best-podcasts chart, and podcast/episode detail pulled from a third-party podcast-data API — not a static or seeded catalog
  • Background-capable audio playback (audio_service + just_audio) with lock-screen/notification controls and a persistent in-app mini-player
  • Per-episode comprehension quizzes authored in Firestore: four-option multiple choice, instant red/green right/wrong feedback per question, a back/next flow, and a scored finish screen
  • Local SQLite persistence for favorited/subscribed podcasts and completed-quiz scores, powering a fully offline 'My Shows' list and a 'Your Quizzes' score-history screen
  • Firebase Analytics wired with a navigation observer, tracking screen views across the app

More in Education

~/sherazi.dev$./say-hello

Say hello.

Questions about a case study, one of the packages, AI tooling or Flutter in general are always welcome.

// or browse the packages on pub.dev(opens in a new tab)