DM
Portfolio / MiniTune
Contact

BA Case Study · Live Product

MiniTune

A macOS menu-bar music app taken from problem statement to real users in public beta.

Business Analysis Product Delivery Jira Backlog RAG Support Agent
MiniTune player view
Role

BA & Builder

Problem

Context switching

Status

Live beta v0.9.8

Artefacts

PRD to backlog

A menu-bar app controlling YouTube (in Safari) and Apple Music from a floating player, with no tab-hunting.

Music control lives outside your working context, buried in a tab or a full player. Every change costs a context switch.

Who it's for: user personas

Three primary personas, built from how real desktop workers actually listen while they work. Each one pushed a different requirement into scope.

Emma Nguyen persona avatar

Emma Nguyen

31 · Product Designer · Melbourne

"If I only want to pause or skip, I should not have to go hunting for the right tab or app first."
Goals
  • Pause, resume or skip without breaking focus
  • Controls accessible without opening full apps
  • Clean now-playing info at a glance
Pain points
  • Safari tabs are hard to locate across windows
  • Music.app must come forward for simple changes
  • Full players feel heavy for one-click actions
Daniel O'Connor persona avatar

Daniel O'Connor

28 · Software Engineer · Sydney

"I want playback control to live where I already am, not in a background tab I have to find again."
Goals
  • One-click control from the menu bar
  • No app switching for routine actions
  • Lightweight, predictable UI
Pain points
  • Playback source hidden behind coding windows
  • Losing keyboard focus mid-flow is irritating
  • Inconsistent state between app and controls
Priya Shah persona avatar

Priya Shah

22 · Student & Content Creator · Brisbane

"When I want a different song, I want to get there instantly instead of reopening the player and starting again."
Goals
  • Jump to a different song quickly
  • Browse favourites without a full player
  • Simple control on a small laptop screen
Pain points
  • Too many tabs make music hard to find
  • Track changes break study concentration
  • Big player apps take over the screen

The moment that mattered

Journey mapping found the make-or-break moment: changing a track mid-task, without losing your place.

STEP 1

Trigger

A track needs pausing, skipping or changing while the user is mid-task.

STEP 2

Locate

Before: hunt through Safari windows or drag Music.app forward.

With MiniTune: glance at the menu bar and the player is already there.

STEP 3

Act

Before: a full player UI for a one-click action.

With MiniTune: play, pause, skip or switch source in one click.

STEP 4

Refocus

Before: focus broken, window layout disturbed.

With MiniTune: straight back to work. Nothing took over the screen.

Low-fi wireframes

The player was scoped on wireframes first, cheap to argue about and cheap to throw away.

Wireframe: menu bar entry point

Menu-bar entry point

The whole product starts from one icon. No Dock, no window.

Wireframe: mini player default state

Mini player: default

Artwork, track info and six controls. Nothing else made the cut.

Wireframe: mini player playing state

Playing state

State changes had to be obvious at a glance, which is a core persona need.

Wireframe: playlist pane

Playlist pane

Priya's requirement: browse and jump tracks without a full player.

From wireframe to shipped UI

The same screens, live in the product today. The layout contract from the wireframes survived contact with real users.

MiniTune player view UI

Player view

The shipped player: artwork, track info and one-click controls.

MiniTune playlists view

Playlist access

Playlists kept close to the active work surface.

MiniTune menu bar play state

Menu-bar playback

Compact playback visibility without leaving the current task.

MiniTune menu bar paused state

State consistency

Consistent controls across player states.

The real Jira backlog

Managed as a real backlog: epics, stories with acceptance criteria, MoSCoW priorities.

13 epics 35 stories 87 issues total Kanban operating model
Summary Type Priority Points Fix version
EP01 Playback Monitoring & Controls Epic High n/a 0.9.1
EP02 YouTube Mode Reliability (Safari Automation) Epic High n/a 0.9.1
EP06 Library, Favourites & Playlists UX Epic High n/a 0.9.1
Play/Pause control reflects actual state (YouTube + Music) Story High 3 0.9.1
Improve Safari tab selection coverage (youtu.be, profiles, YouTube Music) Story High 3 0.9.1
Loved toggle updates Apple Music and local favourites gracefully Story Medium 3 0.9.1
Music Mode artwork rule: MusicKit first, then local artwork, then fallback Story Medium 3 0.9.1
Playlist context indicator is subtle and accurate Story Medium 2 0.9.1

The full 87-issue export, including acceptance criteria on every story, is available in the artefact pack below.

After launch: the support loop

Shipping was the midpoint. minitune.app runs a 24/7 RAG support agent that answers users, refuses what it doesn't know, and triages the rest into the backlog.

The full BA lifecycle on a live product: personas, journey map, backlog, and a support loop feeding real feedback back in.

Inspect the real documents

Every document below is the genuine working artefact, not a mock-up for the portfolio.

PDF

Product Requirements Document

Problem, scope, functional requirements and release approach.

Open PRD
PDF

User personas pack

The three personas above in full, with behaviours and product opportunities.

Open personas
CSV

Jira backlog export

All 87 issues with descriptions, acceptance criteria, points and versions.

Download CSV
PDF

BA portfolio pack

The consolidated BA deliverable set for the deployment workstream.

Open pack