Just.Listen: A music player built for one

A personal project — a music player that does exactly what it needs to and nothing else. No ads, no recommendations, no social features. Just your local music in a skeuomorphic-inspired interface. Designed and built from scratch with vanilla HTML, CSS and JS.


Platform
Web
Year
2026
Team
Solo

Summary

  • Personal project — a local music player with no ads, no tracking, no bloat.
  • Skeuomorphic-inspired UI heavily influenced by Teenage Engineering.
  • Everything fits in one mobile screen — no tabs, no menus, no clutter.
  • Built with vanilla HTML, CSS and JS — intentionally no frameworks.

See it for yourself!

The starting point

I’ve tried a lot of music apps. Every single one falls short somewhere. Even the good ones try too hard — recommendations, social features, endless settings. Analysis paralysis, basically. Sometimes you just want to play your local music without a hundred buttons getting in the way.

Just.Listen is a personal project I did for fun. An exercise in keeping things simple. I designed and built it myself, from concept to code. No stakeholders, no deadlines, no metrics. Just me and my music library.

Limits

My stack was limited to HTML, CSS and vanilla JS. I know Astro, but that was overkill for this. The constraint was intentional — I wanted to see what I could do with the basics.

Process and decisions

Since I didn’t need to validate anything with anyone, I skipped research and went straight to building. The design and scope were already clear in my head. I knew exactly what I wanted: simple, focused, different.

I considered adding YouTube Music integration. It would be useful, but it’s outside my current skill set and I didn’t want to rely on AI to debug something I couldn’t fully understand. So I dropped it.

Keeping things simple was the whole point. Any feature that didn’t serve that goal was noise. The hardest part was actually stopping myself from adding more — that urge to keep piling on features is real, and it takes discipline to fight it.

Friends and family helped with testing, which was enough for a project this size.

Craft and execution

I’m a big fan of the almost skeuomorphic style Teenage Engineering uses in their products. That was my main visual reference. I wanted the interface to feel tactile and intentional, not like another generic music player.

The hardest design problem was fitting everything on a single mobile screen. No tabs, no scrolling between sections. The player, the library, the controls — all there at once. It took a lot of iteration to get the hierarchy right.

Micro-animations gave it that polished feel. Small touches that make the app respond to what you do without getting in the way.

No design system needed here. The scope was tight enough that custom components were the right call.

Results and impact

No metrics, no KPIs, no user surveys. That wasn’t the point.

What I got out of it was confidence. Confidence to take on similar projects with bigger scope and more constraints. And a reminder that you can make something visually different without copying Spotify or Material Design — which is the skill I’m taking into my next role.

Reflection

I wouldn’t change a thing. This was a pure creative exercise, and it served its purpose.