Studio

Case study Casto

Making self-hosted music feel Apple-simple.

Casto is Brett’s personal work-in-progress side project: a self-hosted audio streaming ecosystem built for people who have their own digital music library, want to keep control of it, and do not want remote access to become a weekend networking project.

Casto self-hosted music streaming app
Casto self-hosted music streaming app for macOS showing a personal library, album artwork, and playback controls
Built for
Personal music libraries
What BRETD handled
Strategy · UX · Development · Infrastructure
The result
An Apple-first streaming ecosystem

Self-hosting should not require becoming your own IT department.

Casto started as a personal tool for streaming a local music collection, then gradually turned into a fuller product idea. The goal was not to build another giant media server. It was to make a focused music app for Apple users who already own digital files and want access to them at home, at work, in the car, or wherever they open a browser.

The hard part was hiding the technical seams. A local Mac has to scan and organize the library, serve playback, keep metadata consistent, pair with clients, and stay reachable outside the local network. The user should mostly experience that as: choose a music folder, connect your devices, press play.

The library lived on one machine.

A personal collection is only useful if it can follow you without needing to upload everything to a third-party streaming service.

Remote access gets technical fast.

Port forwarding, local IP changes, expired pairing codes, and network assumptions can make self-hosted tools feel fragile for normal people.

Metadata had to stay consistent.

Artwork, artist names, album grouping, and track data all need one source of truth so the Mac, web, and iOS apps show the same library.

One product became many pieces.

The experience depends on a macOS app, an iOS app, a browser client, and a cloud tunnel service all behaving like one calm system.

Let the Mac be home base, then make every client feel native.

Casto is built around a simple ownership model: the Mac is the source of truth for the music library, metadata, pairing, and streaming. The iOS app, web app, and cloud tunnel are clients around that source, designed to make remote listening feel simple without taking the library out of the user’s control.

  1. PointChoose the local music folder on the Mac and let Casto build the library.
  2. OrganizeScan files, normalize metadata, resolve artwork, and keep albums grouped consistently.
  3. ServeExpose a local streaming API from the desktop app with the Mac as source of truth.
  4. TunnelUse the cloud relay to make the library reachable outside the home network.
  5. ListenStream from macOS, iOS, or the web app while the library stays under the user’s control.

01 / Web listening

The whole library, right in the browser.

Casto’s web app turns any modern browser into a full listening client. The experience is intentionally visual and familiar: browse a wall of album art, move quickly through a large artist library, or search across artists, albums, and tracks without needing the Mac app in front of you.

  • Discovery shelves for recently added and forgotten favorites
  • Fast artist, album, and track search across the full collection
  • Persistent playback controls that stay out of the library’s way

02 / Native iOS client

The same collection fits in a pocket.

The iOS app brings the Mac-authored library into a focused mobile experience. Browsing is optimized for a large personal collection, album pages keep the artwork and track list together, and the player gives the music enough room to feel like the main event.

  • Alphabetical artist browsing designed for long libraries
  • Album-level playback, shuffle, artwork, and track details
  • A dedicated now-playing view with familiar transport controls

03 / A little personality

Function first. Fun included.

Casto is designed as a practical way to reach a personal library, but it does not have to feel like infrastructure. The browser visualizer turns the current track into a full-screen listening moment—an intentionally playful feature in a product that spends most of its time quietly doing the technical work.

  • Full-screen visuals that respond to the music
  • Persistent track context and playback controls
  • A reminder that personal software can have a point of view
Casto web music visualizer creating a colorful full-screen listening experience with compact playback controls

A personal side project becoming a real ecosystem.

Casto is still a work in progress, especially on the iOS side, but the shape is already clear: a Mac-hosted music library, a dedicated desktop experience, a web streaming client, a mobile app in development, and a cloud layer that makes self-hosted access less intimidating.

More control

The user keeps the library on their own machine instead of handing everything to another platform.

Less setup friction

Remote access is designed around pairing and tunneling rather than expecting users to become networking experts.

One connected system

macOS, iOS, web, and cloud pieces are built as parts of the same product instead of separate experiments.

Not a media server for tinkerers. A calmer way to own your music.

Casto is the kind of side project that keeps revealing the real product through use: connection reliability, FLAC playback, artwork consistency, cloud routing, mobile ergonomics, and the small details that make a self-hosted thing feel trustworthy. It is not finished, but it is becoming exactly the kind of useful, personal software BRETD Studio likes to make.

Visit Casto