Sep 27, 2026 · by Djordje Janjic · View source

GhostDeck

Offline Mac music player with living low-poly worlds

GhostDeck

Editorial analysis

The real lesson from a tiny retro music player: what “no account, no analytics, no network” could mean for your content stack

Every social media operator I know is drowning in dashboards. We’ve traded one kind of chaos — posting manually to eight apps — for another: a browser tab graveyard of schedulers, analytics suites, AI caption tools, and link-in-bio widgets, each one asking for OAuth access to accounts we’d rather not hand over. So when a small indie Mac app shows up on Product Hunt and its entire pitch is no account, no analytics, no network access at all, I pay attention — not because I need a music player, but because it’s a clean stress test of a question every creator should be asking in 2025: how much of our tooling actually needs to phone home, and how much of it is just surveillance dressed up as convenience?

That’s the frame for this piece. GhostDeck, made by Djordje Janjic, is a retro-styled local music player for macOS. On its face it has nothing to do with Instagram Reels or LinkedIn carousels. But the design decisions behind it — native code, local processing, a one-time purchase, a free point update — map almost perfectly onto the frustrations creators have with the SaaS stack they rent every month. Below I’ll unpack what GhostDeck actually is (per the maker’s own launch thread), where it sits against the incumbents, what creators can steal from its philosophy, and where I think the analogy breaks.

What GhostDeck actually is — and what problem it solves

Let me get the facts straight, because the marketing language around “local-first” gets slippery. According to the maker’s own post, GhostDeck is a native macOS music player built in Swift with a hand-written Metal renderer — no game engine, no embedded web view. It plays FLAC, MP3, AAC, ALAC, WAV, and AIFF. The interface is deliberately retro: a classic deck layout with a main deck, a ten-band EQ, and a playlist as separate windows that dock together “like magnets,” complete with pixel font. There’s also a 3D pane where your album art becomes a jewel case rotating over one of five low-poly worlds — synthwave, a moonlit forest, dunes with a chrome skull, a rainy neon city, and a deep sea — and each world reskins the deck.

The problem it solves is narrow and specific, which I respect. As the maker puts it, he keeps his music as files, and “every Mac player I tried was either a huge library manager or a list with a play button.” That’s a real gap. If you’ve ever tried to use Apple Music or Spotify as a pure local-file player, you know the friction: they want to be your cloud library, your discovery engine, your podcast app, your social graph. Sometimes you just want a folder of FLACs and a play button that doesn’t ask you to sign in.

Version 1.1, which is the news hook here, adds three things: FLAC tag and embedded cover support (so single files show artist, title, album, and art even outside a folder context), gapless album playback, and a low power mode. It’s a free update for existing owners. The app is a one-time purchase on the Mac App Store — no subscription — and the maker says it’s about 12 MB because almost everything is generated on-device at launch. Notably: no account, no analytics, no network access at all. The 1.1 features came directly from r/macapps feedback, and classic .wsz skins are next on the roadmap. Pricing specifics beyond “one-time purchase” are not disclosed in the thread.

Now, why should a social media manager care? Two reasons. First, the “no network access” claim is a genuinely rare design constraint in 2025, and it’s worth understanding what it costs and what it buys. Second, the update cadence — ship, listen to a niche community, ship again — is the exact loop most creator tools claim to run and almost none actually do.

Why “no account, no analytics, no network” is a bigger deal than it sounds

In my experience running social accounts, the single most under-discussed risk in the creator stack is OAuth sprawl. Every scheduler you connect — Buffer, Hootsuite, Later, Metricool — gets a token that can read your audience data, sometimes post on your behalf, and almost always feed a backend you can’t audit. That’s not a knock on those companies specifically; it’s the cost of doing business with cloud tools. But it means the phrase “no network access at all” is doing real work. A local-only app can’t leak your data because it never has anywhere to send it.

For a music player that’s a nice-to-have. For a content tool, it’s a different calculus — and I’ll get to why in a minute.

How it stacks up against the incumbents — and where the comparison gets uncomfortable

The obvious comparison set for GhostDeck is Apple Music and Spotify on the streaming side, and Vox or Swinsian on the local-file side. The maker’s framing is that the big players became “huge library managers,” and that’s fair. Spotify in particular has spent the last several years bolting on podcasts, audiobooks, and AI DJ features that have nothing to do with playing the files on your hard drive. Apple Music is better at local files but still wants to be the center of your musical universe.

Where GhostDeck differs is that it refuses to be a platform. No account means no cross-device sync, no social features, no recommendations. That’s a feature if you want it and a dealbreaker if you don’t. I’d bet most creators under 30 have never bought a music file in their lives, which makes GhostDeck a niche product for a specific kind of person — the same kind of person, incidentally, who still exports their own video rather than trusting a cloud editor.

The more interesting comparison for this audience is on the tooling side. Think about what a “GhostDeck for social media” would look like: a scheduler that runs locally, stores your drafts on your machine, never asks for analytics access, and just posts via the platform APIs when you tell it to. Does that exist? Sort of. Postiz is open-source and self-hostable. Mixpost is similar. But the mainstream options — Buffer, Hootsuite, Sprout Social — are all cloud-first, and their business models depend on the analytics layer that GhostDeck deliberately omits.

Why TikTok creators should care more than LinkedIn ones

Here’s where I’ll make a judgment call. If you’re a TikTok or Instagram creator, the local-first argument is weaker, because the platforms themselves are the surveillance layer. TikTok knows your watch time, your scroll speed, your rewatches. Your scheduler having your data is a rounding error next to what ByteDance already has. So the privacy pitch lands softer.

But if you’re a LinkedIn or X operator — especially one managing client accounts under an NDA, or working in a regulated industry like fintech or healthcare — the calculus flips. Every third-party tool you connect is a compliance surface. A local-only draft-and-schedule tool would be genuinely valuable there, and I suspect we’ll see one within a year or two. That’s my take, not a prediction from the source.

What creators and social media teams can actually borrow from GhostDeck

Strip away the synthwave aesthetics and there are three transferable lessons here. None of them require you to buy a music player.

One: ship small, ship often, and let a niche community drive the roadmap. The maker explicitly says the 1.1 features “came straight from r/macapps feedback.” That’s not a marketing line — it’s an operating model. Compare that to how most creator SaaS handles feature requests: a public roadmap you can upvote, a quarterly release, and a changelog that reads like it was written by a committee. If you run a content team, the equivalent move is to keep a running doc of the three things your audience keeps asking for and ship one of them every two weeks. Not a rebrand. Not a new content pillar. One concrete fix.

Two: constraints are a feature, not a bug. A 12 MB app with no network access is a design choice that forces everything to happen on-device. In content terms, the equivalent is a repurposing workflow that doesn’t depend on a cloud service staying up. If your entire pipeline — scripting, editing, captioning, scheduling — runs through tools that require an internet connection and a login, you’re one outage away from missing a launch. I’ve watched a CapCut export fail at 11pm the night before a campaign went live. Local-first isn’t nostalgia; it’s risk management.

Three: one-time pricing is a positioning weapon. GhostDeck is a one-time purchase, no subscription. In a market where every creator tool has moved to $29/month, that’s a differentiator you can feel. I’m not saying every tool can do this — cloud storage and API calls cost money — but if you’re an indie founder building for creators, “pay once” is a wedge that gets you attention. Just be honest about what it costs you in recurring revenue.

Where the math breaks

I want to be balanced here, because the local-first romance has a ceiling. GhostDeck’s model works because a music player doesn’t need a server. A social media scheduler does — or at least, it needs to talk to platform APIs, and those APIs have rate limits, token expirations, and review processes that make self-hosting a genuine pain. Postiz and Mixpost exist precisely because a handful of people were willing to eat that pain. Most creators aren’t. So the “no network access” ideal is aspirational for our category, not directly portable.

The other break: no analytics means no feedback loop. GhostDeck doesn’t need to know which track you skipped. But a content tool that doesn’t track performance is just a publishing button. The whole reason we tolerate the OAuth sprawl is that the data — reach, watch time, saves, shares — is the job. So the honest version of the lesson isn’t “go local-only.” It’s “be deliberate about which tools get your data, and audit the ones that don’t earn it.”

Where I think GhostDeck falls short — and who it’s not for

Let me put on the skeptic hat. First, this is macOS-only. If you’re on Windows or Linux, none of this applies to you, and the maker doesn’t signal any plans to port. Second, the feature set is deliberately narrow: no streaming integration, no podcast support, no mobile companion. If you live in Spotify, GhostDeck is a curiosity, not a replacement.

Third — and this is the one that matters for this audience — the “no analytics” promise is only meaningful if you trust the binary. The maker says no network access at all, and on the Mac App Store that’s a checkable claim (you can verify with a network monitor), but it’s still a trust exercise. I’d want to see that verified independently before I’d cite it as a security feature in a client deck.

Fourth: the roadmap item is classic .wsz skins, which tells you the target user is a specific flavor of nostalgic power user. That’s fine — it’s a passion project with a clear audience — but it’s not a growth play. If you’re a creator looking for a tool that will scale with your channel, this isn’t it. It’s a reminder that some software is allowed to just be good for a small group of people.

The uncomfortable question for creator SaaS

Here’s the thing I keep coming back to. GhostDeck exists because the maker was annoyed that every Mac player had become a platform. The creator tool market is on the exact same trajectory. Buffer started as a simple scheduler and is now an AI content suite. Canva started as a design tool and is now a full publishing platform. Metricool started as analytics and is now a scheduling suite. Every one of them is racing to become the operating system for your content, because that’s where the subscription revenue is.

I’m not saying that’s bad. Consolidation has real benefits — fewer logins, fewer integrations to maintain, one bill. But it also means the tool you chose for one job is now trying to do five, and the quality of each job drops as the surface area grows. If you’ve ever tried to schedule a Threads post through a tool built for Instagram, you know the feeling.

So the GhostDeck lesson isn’t “abandon your stack.” It’s “know which tool in your stack is the load-bearing one, and don’t let the others creep into that role.” For most creators, the load-bearing tool is the scheduler. Protect it. Don’t connect it to everything. Don’t let it become a platform.

What I’d watch / test next

Concrete next steps for this week, whether or not you care about retro music players:

  1. Audit your OAuth connections. Go into each platform’s settings — Instagram, TikTok, YouTube, LinkedIn, X — and list every third-party app with access. Revoke anything you haven’t used in 90 days. This takes 20 minutes and closes a real risk surface.
  2. Identify your load-bearing tool. For most operators it’s the scheduler. Write down what it actually needs to do — draft, schedule, publish, maybe basic analytics — and stop paying for the features it’s bolted on since.
  3. Test one local-first alternative. Postiz is the most mature open-source option; spin it up on a cheap VPS and see if the friction is worth the data sovereignty. If it isn’t, you’ve learned something about your own priorities.
  4. Watch GhostDeck’s .wsz skin rollout as a case study in niche community building. The maker is doing something right with the r/macapps loop, and the pattern is copyable even if the product isn’t.

The broader bet I’d make: over the next 18 months, “local-first” becomes a marketing category in creator tools the way “AI-powered” did in 2023. Some of it will be real. Most of it will be a checkbox. The way to tell the difference is to ask one question: if I unplug my ethernet cable, does this tool still work? If the answer is yes, you’ve found something worth keeping. If it’s no, you’ve found another platform that wants to own you.

Ready to Create Your Own?

Join thousands of brands creating high-performing video ads with FLOWNIB. No editing skills required.

Start Creating for Free