Why I built Ghostbase

I didn’t need another link-in-bio page. I needed one place that actually knows what I’m listening to, watching, and shipping — so I built it myself.

I have a Spotify, a Simkl account for tracking what I watch, a GitHub profile, a Discord presence, and a habit of writing things down. None of that lived in one place, and every “link in bio” tool I tried was built for creators posting content, not for someone who just wants a home base on the internet. So I built my own. It’s called Ghostbase, it runs at razerghost.xyz, and it’s open source.

The first version was almost too simple: a page with links to my socials and projects, because I was tired of my bio linking to a Linktree that looked like everyone else’s Linktree. That would have been a fine place to stop. It wasn’t, because the moment I had a page that was mine, I kept noticing gaps.

Would it be cool if this page knew what I’m listening to right now? Would it be cool if this page just showed my watchlist directly — the kdramas and anime Simkl already keeps merged into one place — instead of making me go check it separately? What if my devlog lived next to everything else I do? Each question turned into a feature, and each feature turned into a small piece of infrastructure I hadn’t planned on building — a cache layer here, an import pipeline there, a full-text search index for my own notes.

What it actually does now

Ghostbase has grown into something closer to a personal dashboard than a links page:

  • Live status — what I’m playing on Spotify, what I’m watching, my Discord presence, pulled together instead of scattered across four tabs
  • A watchlist (/watchlist) — my kdramas and anime, pulled from Simkl’s merged view instead of making me check it separately
  • A devlog (/devlog) — markdown posts with embeddable interactive components (before/after sliders, terminal replays, diagrams) for writing about what I’m actually building
  • A project showcase (/projects) — the things I’ve shipped, tagged and searchable
  • A listening history (/listens) — my Spotify history, browsable on its own page instead of buried in a Spotify wrapped once a year
  • A gear page (/gear) — the hardware and setup behind all of this
  • An admin panel (/admin) — a proper CMS behind a login for editing the devlog and projects, managing backups and media, and watching the health of every integration, instead of hand-editing files on a server

None of this was on a roadmap. It’s the accumulated result of building the tool I actually wanted to open every day, one annoyance at a time.

Why it’s worth writing about

Most software I’ll build for other people won’t be shareable — client work tends to live under NDA, and even when it doesn’t, screenshots of an internal ops dashboard don’t tell you much. Ghostbase is the opposite: it’s mine, it’s public, the code is open, and every decision in it was made because I had to live with the consequences, not because someone else signed off on a spec.

That’s a different kind of pressure than working to someone else’s requirements, and an instructive one. When you’re both the developer and the only user, you can’t blame unclear requirements for a bad decision — you just made a bad decision, and you’ll be the one annoyed by it next week. It’s the same discipline I intend to bring to every project, minus anywhere to hide.

Curious how I work, or want to see the code? Ghostbase is open source — and if you want something built with that same care, let’s talk.

Ready for step 1?

An intro call is free. Want to know straight away where your time goes? Start with the Quickscan.

— Dimitri, RG Digital

Send an email A reply within 24 hours · NL or EN