Listening Stats: a SwiftPieces remix in SwiftUI, inspired by stats.fm
A music stats app in seven screens across four tabs on a floating dock, in the SwiftPieces look; actions are pills, cards 20, tiles 12, artwork square, and ranks set large and heavy wherever they show. The overview stands on a night ground: what's playing as a mini player you pull up, your top artists of the past four weeks as coloured tiles with their rank and play count, and what you played last. Top swipes between tracks, artists and albums for four weeks, six months or lifetime, each row with its rank and how far it moved, up in mint, down in pink, or new. An artist opens on your numbers with them as four cards, your streams by month against your average artist, the hours you play them and where you sit among friends. Stats sets the year's streams, tracks, artists and minutes against last year, a listening clock by hour and streams by weekday; history folds each day into its counts, with one day open to every play. Friends shows who's listening and how close your taste is; a friend's profile carries their audio features as thin mint bars and their top artists. Built from Tint Panel, Screen Header, Now Playing, Stat Grid, Media Row, Elastic Button, Glass Segments, Tracking Tabs, Image, Compare Line, Chart, Category Bars, Day Picker, Disclosure, Fan Stack, Toast, Avatar, Tag, Button, Filter Rail, Progress and Cover Grid.
- Pull the mini player up into the full player
- Tap an artist tile to open their numbers
- Swipe Top from Tracks to Albums and switch to 6 months
- Drag across the artist's streams by month
- Open history and unfold Wednesday
- Open maren.k and read her audio features
- Tabs: Each tab keeps its own place, so switching back returns you where you were.
- Push: The next screen slides in from the trailing edge; back slides it away.
- Tap: A tap acts on release, so dragging off cancels it.
- Drag: It tracks 1:1 under your finger and settles with a spring when released.
- Swipe: It follows your finger, then commits or springs home based on distance and speed.
- Scrub: Values change continuously under your finger, with a tick at each step.
- Select: The selection moves between options instead of blinking.
- Press: The control dips while your finger is down and springs back on release.
- Haptic: A short tap of vibration confirms the moment something happens.