TrackcastTier 1-2
Professional AIRead the spec
Project · Clone of Overcast

Trackcast

A 6-part build: a spec, 3 milestone guides, 1 AI checkpoint, and a defend-your-code rubric. You build it in Xcode on a Mac; each guide walks the exact Swift 6 patterns.

The spec

Project 8 — Trackcast / Overcast: the specState exactly what Trackcast is and what is deliberately out of scope25 min

Milestones

3 steps · 320 min total
  1. 1audio playback75 minConfigure and activate an AVAudioSession for playback · Drive an AVPlayer with play, pause, and seek from an @Observable model
  2. 2background audio and downloads85 minEnable background audio and wire up the lock-screen now-playing info and remote commands · Run offline episode downloads with a URLSession background configuration
  3. 3a now-playing Live Activity60 minModel a Live Activity's static and dynamic state with ActivityKit · Start, update, and end a now-playing activity from the player model

AI checkpoints

Review the diff, then grade your fix
AI checkpoint — review before you acceptProject 8 · AI checkpoint — the download-progress data race
import Foundation

final class DownloadManager: NSObject, URLSessionDownloadDelegate, @unchecked Sendable {
    // Progress for each in-flight download, keyed by task id.
    private var progress: [Int: Double] = [:]

    var overallProgress: Double {
        guard !progress.isEmpty else { return 0 }
        return progress.values.reduce(0, +) / Double(progress.count)
    }

    func urlSession(_ session: URLSession,
15 more lines — download or open to review in full

Defend your code

RubricProject 8 · Rubric and defend-your-codeSelf-assess Trackcast against a concrete rubric before calling it done