AP3
Learning OS

Swift + SwiftUI / learning project

Native Casset companion

A focused native listening surface that extends Casset without creating a second product truth.

Overview

A working notebook for turning a question into a thing that can be tested, felt, and improved.

Problem

A native product can make listening, return, device audio, widgets, and system surfaces feel closer—but only if it respects the existing catalog, access, runtime, and playback owners.

Goals

  • Consume the existing Casset API through a typed and tested Swift client.
  • Ship a coherent profile → release → track flow with explicit loading and failure states.
  • Explore native playback controls, offline metadata, widgets, Live Activities, and App Intents in that order.

Architecture

Existing Casset API and canonical owners → Swift networking/model layer → SwiftUI projection → system playback and device surfaces.

Design

Let the device change the interaction while keeping Casset's audiovisual identity and product nouns recognizable.

Implementation

Begin read-only. Prove networking, caching, failure, and accessibility before adding playback commands or ambient device capabilities.

Lessons

  • Native is a specialization built on product and systems fundamentals.
  • A projection can feel platform-specific without becoming a parallel source of truth.

Future improvements

Add native audio experiments and TestFlight observation after the primary catalog loop is dependable.