androidengineers.Book a session

LEARN WITH A CLEAR DIRECTION

Gemini Live for Android with PocketCook

Learn realtime voice through PocketCook: direct Gemini sessions, PCM capture and playback, interruptions, lifecycle recovery and tested Kotlin changes.

Intermediate to Advanced12–16 hours7 modules16 available lessons

Your path, one skill at a time.

Use PocketCook as one continuous project. Six detailed lessons and six practical assignments explain the working voice core, including the real buffering and playback bugs behind its regression tests. Follow the source-pinned codelab, make a tested chunk-size improvement, evaluate real-device behavior and complete an independent capstone. Camera, tools and production tokens are clearly separated as future extensions.

Suggested pace: six lesson-and-practice sessions with the 4–6 hour codelab interleaved, then a 2–3 hour capstone and final self-assessment. Setup and live debugging may take longer.

What you’ll learn

  • Explain the direct Gemini Live setup and debug credential boundary
  • Capture and play PCM with bounded queues and correct byte/frame accounting
  • Handle interruption, mute and stale callbacks with explicit ownership
  • Make a tested Kotlin change and distinguish local tests from live evidence

THE CURRICULUM

Build your knowledge, step by step.

16 lessons across 7 modules. Open a module to explore its lessons and practical work.

01MODULE 01Session ownership and the AI boundary4 lessons · 1–2 hours
  • Bidirectional interaction
  • Model capability selection
  • Session ownership

Trace PocketCook from Compose state to a direct Live session, then use the companion codelab to run and extend the app.

  1. 01PocketCook course study guideLesson · 15–20 min
  2. 02PocketCook: how a live voice session worksLesson · 35–50 min
  3. 03Practice: Trace the first connectionLab · 30–60 min
  4. 04PocketCook: hands-on codelabLesson · 4–6 hours

Ready to move on when: One socket and no microphone before setup acknowledgement.

02MODULE 02Microphone capture and bounded input2 lessons · 1–2 hours
  • Permission lifecycle
  • Encoding contract
  • Backpressure

Prove sample order and explain queued audio duration.

  1. 01Microphone capture: PCM, partial reads and bounded queuesLesson · 35–50 min
  2. 02Practice: Prove the capture chunk contractLab · 30–60 min

Ready to move on when: Prove sample order and explain queued audio duration.

03MODULE 03Streaming playback and device progress2 lessons · 1–2 hours
  • Chunk scheduling
  • Turn boundaries
  • Audio resource cleanup

Explain the startup stall and verify small-chunk playback.

  1. 01Streaming playback: why a transcript can arrive without soundLesson · 35–50 min
  2. 02Practice: Diagnose silence without guessingLab · 30–60 min

Ready to move on when: Explain the startup stall and verify small-chunk playback.

04MODULE 04Interruptions, mute and transcript state2 lessons · 1–2 hours
  • Voice activity decisions
  • Barge-in handling
  • Echo and timing

Reject pre-mute input and locally queued interrupted audio.

  1. 01Interruptions, mute and conversation stateLesson · 35–50 min
  2. 02Practice: Test a hostile event orderingLab · 30–60 min

Ready to move on when: Reject pre-mute input and locally queued interrupted audio.

05MODULE 05Recovery, recipe context and future tools2 lessons · 1–2 hours
  • Lifecycle cleanup and explicit restart
  • Recipe context versus executed tools
  • Production token-service design (not implemented)

Preserve recipe progress without automatically restoring recording.

  1. 01Session recovery and the boundary before toolsLesson · 35–50 min
  2. 02Practice: Recover without inventing continuityLab · 30–60 min

Ready to move on when: Preserve recipe progress without automatically restoring recording.

06MODULE 06Realtime evaluation and future camera context2 lessons · 1–2 hours
  • Task-level voice evaluation
  • Latency endpoints and evidence
  • Camera context design (not implemented)

Report task outcomes and distinguish tested features from planned extensions.

  1. 01Evaluate PocketCook and plan camera context responsiblyLesson · 35–50 min
  2. 02Practice: Evaluate the real taskLab · 30–60 min

Ready to move on when: Report task outcomes and distinguish tested features from planned extensions.

07MODULE 07Capstone and assessment2 lessons · 3–4 hours
  • A tested independent PocketCook extension
  • Source-linked local, device and live evidence
  • Conceptual assessment and a reviewable project report

Extend the working core, verify the change and submit reproducible evidence.

  1. 01Capstone: extend PocketCook with evidenceProject · 2–3 hours
  2. 02PocketCook final assessmentLab · 45–60 min

Ready to move on when: Submit the tested change, reproducible evaluation and completed self-assessment with unverified cases clearly identified.

PROVE YOUR SKILLS

A portfolio you can build, explain, and defend.

  • Explain the direct Gemini Live setup and debug credential boundary
  • Capture and play PCM with bounded queues and correct byte/frame accounting
  • Handle interruption, mute and stale callbacks with explicit ownership
  • Make a tested Kotlin change and distinguish local tests from live evidence

Use the final review rubric to identify gaps. Lesson completion tracks study progress; readiness comes from independently demonstrating the work.

Open the portfolio review rubric →