Journal First look

Pre-save: Yoin

After Spotoolfy came Yoin. Half a year later, it’s ready for its first listeners. Here’s where it came from and what’s inside.

After Spotoolfy, I hit a wall pretty quickly. Flutter isn’t very kind to Android: predictive back, the newest Material Design components, all of it had to be written from scratch. Android was new ground for me, and I started out feeling my way with mixed feelings. Somewhere along the way, I began to really enjoy Compose.

After more than half a year of full-time work, Yoin is finally ready to meet the public. I want it to be solid, so I’m starting with a small group of testers: people who follow me on social media, friends, and friends from the old Spotoolfy Discord.


Yoin is named after the Japanese word 余韻 (yoin), which sounds a lot like the Chinese 余音.

The name reminds me of the moment after a song ends, when the sound still seems to circle the room. We can’t help tying songs to our own lives, and we keep giving them new meaning, sometimes well beyond what their writers had in mind. I think that’s why music is so particular to each life, and so different from one person to the next.

For the design, I drew on Material Design 3 Expressive, with a lot of my own decisions mixed in:

  • Colour and feel. MD3 Expressive pulls two seed colours out of a cover that go together beautifully, and that shapes a music app far better than the low-saturation, Morandi-style palettes that came before. I adopted the new components with care, put spring animation on almost every interaction, and used MD3’s shapes for layout and decoration.
  • Now Playing and gestures. The player has a rating bar you can hide at any moment, to balance the vertical space, and the menus that unfold up and down are now clearly set apart from the Split Button at the bottom. Across pages and windows, the Now Playing block at the bottom changes form with where you are: a phone, a tablet, an album page or a split view. Together with predictive back, every way in and out stays continuous.
  • A Home made of widgets, on every screen. Home is built from modules you can arrange and resize almost freely. Responsive layout is a first-class citizen too, from a Googlebook, the Samsung Z Fold 8 cover screen and Sony Xperia phones to foldables in Stand mode and landscape.

For playback and data, Yoin works with Apple Music and Subsonic as well as Spotify. Setup was the part of Spotoolfy people complained about most, so I redesigned the first-run flow: a floating guide and one-tap copy mean you no longer bounce between the app and the Spotify Dashboard, and switching accounts is quick. Your data can sync across devices with Google Drive.

Yoin also gathers up the rough ideas about listening that started in Spotoolfy, and gives them more order, more room to grow and more structure:

  • The story behind a song, with Gemini. On each track’s About page, quick lookups use Gemini with your own key and Google AI grounding. Your questions are kept as a tidy Q&A on the page, so the context isn’t lost.
  • Timestamped notes. Write down how you feel about the arrangement, the lyrics or the production, or even the fan chant. Notes scroll by on the player along with their timestamps and the lyrics.
  • The diary and the attic. Swipe left on an album page to open its diary, with every question, note and play count for that album in one place. An album you’ve rated or filled with notes becomes a Memory and goes up to Yoin’s attic. Swipe down on Home to look back through your Memories; they also turn up in the home-screen widget and in Jump Back In.

We’ve put a great deal of thought and care into Yoin. The aim is a music player that feels classic and fresh at once, not a copy of another app’s Now Playing screen. Yoin is made for Android, and there’s more to share soon.

Keep reading

Closed test

Join the closed test.

Yoin 0.5 is in a closed test on Google Play. Joining takes about two minutes.