Behind the scenes

How Colada came together

Colada started with a simple frustration: great music, scattered across a dozen apps, none of which really felt like yours. So it was built the other way around β€” a single, local-first app that lives on your machine and does the whole job, from playing to DJing to visualizing, without asking you to hand your library to the cloud.

The principles it's built on

πŸ”’

Local-first

Your own machine is the server. The app runs, plays and thinks on your device β€” not in someone else’s cloud.

πŸ•ŠοΈ

Privacy by default

Nothing about your library or listening leaves your computer unless you explicitly turn something on.

🧩

One app, not ten

Player, library, DJ, visualizer and stats share one fast interface β€” the same player follows you everywhere.

⚑

Fast & light

No heavy framework on the desktop side. Vanilla, server-rendered, and installable as a real app.

The journey, one piece at a time

Colada grew feature by feature β€” each one earning its place before the next was added. Roughly, that shape:

  1. 1

    A player worth using

    It began with the basics done right β€” gapless playback, smart queues, shuffle, repeat, and picking up exactly where you left off.

  2. 2

    The whole library

    Then the collection: a folder tree, gallery and smart views, fast search, rich metadata, synced lyrics and a semantic read on every track’s mood.

  3. 3

    Getting the music in

    Bring a whole playlist in at once β€” every track matched, tagged and filed automatically, so the library organises itself as it grows.

  4. 4

    Meet DJ Pineapple

    The turning point: a talking AI DJ that understands vibes, builds sets from your own music, and plays them on request. The mascot earned its name.

  5. 5

    Make it beautiful

    A gallery of 20+ GPU-smooth visualizers, from clean waveforms to generative art β€” because music should be something you can watch, too.

  6. 6

    Know your listening

    A local stats dashboard: every play logged on your machine, turned into top tracks, artists, sessions and hours β€” private by construction.

  7. 7

    Take it further, carefully

    Then an optional hosted platform β€” accounts, profile & avatar sync β€” added without giving up the local-first promise. Off by default, yours to switch on.

  8. 8

    A room to run it from

    And a dedicated backoffice β€” a separate, admin-only tool to look after the shared catalogue, users and anonymous analytics, kept well away from the public site.

  9. 9

    Opening up, carefully

    The chapter that first faced outward β€” and the first to face outward. A social layer built spec-first (a full product brief and a stack of recorded decisions before a line was written): a short friend code to add people, profiles you control, and playlists you can publish and share by a link anyone can open and add to their own library β€” β€œsigned” so a copy always credits the original author. Invite a friend by email and you’re connected the moment they join. All of it opt-in and friends-by-default: nothing is public unless you choose it, and a quiet level grows in the background as you listen, add friends and share.

  10. 10

    One search for everything

    Search stopped being a list of files. One box now answers with your folders, playlists, artists and albums as well as tracks β€” grouped, so an artist with forty songs is one card you can open, not forty rows you have to scroll past.

  11. 11

    A catalogue everyone improves

    Every play quietly teaches the shared catalogue something β€” an album cover, an artist photo, a missing year. Nothing personal travels with it, and anyone can flag a record that is wrong, so the library gets better for everyone as it gets used.

  12. 12

    Live, as it happens

    A realtime layer underneath the whole platform: an event backbone and a socket per listener. A song counts the moment it starts rather than when it ends, notifications arrive instantly, and β€œhere now” is a real number.

  13. 13

    A feed of your own

    The social layer grew a voice β€” posts with real attachments, comments, likes, and profiles you can open without leaving the app. Only music links are allowed in, and anything can be reported to a moderator in two clicks.

  14. 14

    A booth, not just a player

    The player grew a second half: two real decks with a crossfader between them. Per-deck EQ and filter, beat-matching that locks two tracks together, hot cues, a platter you can scratch, and headphone cueing so you can hear the next track before anyone else does. Plug in a DJ controller and it maps itself β€” the knobs and jog wheels drive the booth directly.

  15. 15

    Take a song apart while it plays

    Then the thing that changes what a mix can be: any track separates into vocals, drums and music, and each one gets its own dial on the deck. Drop the vocal out of one track and ride it over the beat of another, live, on both decks at once. The separation happens on your own machine β€” nothing is uploaded β€” and a track you have prepared once is instant every time after.

  16. 16

    Listening together, for real

    Play something and let a friend tune in β€” they hear what you hear, as you hear it, wherever they are. It is the same local-first bargain as everything else: your library stays on your machine, and only the fact of what is playing travels, and only while you choose to broadcast.

  17. 17

    Your graphics card, if it wants the job

    Separating a track is the slowest thing Colada does, and some graphics cards do it about four times faster than the processor. So that became an option you can switch on β€” a one-time download, kept entirely separate from the normal engine, that changes nothing if your card turns out not to be up to it. Colada checks that it genuinely works before trusting it, and tells you which one is really doing the work.

  18. 18

    The parts that do not demo well

    A pass over the things nobody notices when they are right. Visualizers that watch for the system setting people with photosensitivity rely on, and calm themselves without being asked. Failures that say what actually went wrong instead of blaming the nearest innocent thing. Screens that understand a phone. None of it is a feature you would put on a box, and all of it is the difference between software you tolerate and software you trust.

  19. 19

    Recognition, on the drawing board

    Currently being designed spec-first, like everything social: a loyalty programme that recognises how you actually use Colada. Badges earned automatically as you listen, collect and share β€” each with a name worth earning and, sometimes, a song hidden inside it β€” a badge case on your profile, a featured badge you pick yourself, and sharing a badge straight to the feed. Recognition and identity, never a paywall or a guilt streak: it celebrates what you already love doing, and every badge is yours to show or keep private.

  20. 20

    Still going

    On the bench right now: recognition β€” the badge system β€” coming out from behind the curtain; artist pages worth landing on, with the rest of an artist’s work one click away; more of the shared catalogue filling itself in as people listen; and stems on the very long stuff, so a two-hour set gets the same treatment as a three-minute single. The same rule as always β€” nothing leaves your machine unless you switch it on.

How it's actually made

πŸ“ Specs before code

Bigger changes start as a short product spec, then a design doc and a recorded decision β€” so the "why" is written down before a line is committed.

🧱 Small, sharp pieces

The desktop app is a modular Python + vanilla-JS codebase; the platform is a handful of small .NET services behind one gateway. Each piece does one thing.

πŸ” Ship, measure, improve

Features ship in small increments, get a health pass, and come back for polish. Regular sweeps look for anything rough across quality, performance and privacy.

πŸ€– Built with an AI co-pilot

Fittingly for an app with its own AI DJ, a lot of Colada is written hand-in-hand with AI pair-programming β€” faster iterations, more time for the fun parts.

Want the technical tour?

See exactly which technology powers each part.