Listening, after midnight.
Halcyon
A discovery app for late-night listeners. Lifted week-two retention from 23.4% to 41.8% by treating “quiet hours” as a real product surface instead of a dim mode.
The retention curve
was breaking on day eight.
Halcyon was a Spotify-shaped app trying to be different by being prettier. The team had built a beautiful catalogue, smart recommendations, and a clean home feed. The numbers were fine on day one and broken by day eight.
When we read the support tickets, two patterns kept coming up. People loved the app at 1 am. Then morning came and the same interface felt loud, generic, indistinguishable from Spotify. Users churned because there was no reason to come back during the hours they actually wanted to.
Treat midnight
as a first-class surface.
We split the app into two registers and let the device clock decide. Daytime Halcyon stayed bright, fast, social. After 9 pm, the app crossfaded into quiet hours: dimmer palette, slower transitions, fewer notifications, and a separate discovery feed seeded by user listening behavior in those hours.
- Two products, one app. Day-self and night-self get different home feeds, different notification cadences, different copy.
- The 4 am test. Every screen had to read as easily at 4 am with one eye open as it did at noon. Type, contrast, motion all re-tuned.
- Sound-first metadata. “Quiet,” “sparse,” “long-form” tags replaced genre-only filters at night.
Quiet hours,
in three textures.
The night palette dropped luminance from oklch 96% to 18%, kept the same hue family (cool desaturated blue), and shifted contrast from edges (light surfaces) to glow (subtle inner shadow + faint accent lift on focus). The motion language slowed: 250 ms transitions instead of 160 ms; no spring; no parallax.
On the metadata side, “long-form,” “sparse,” and “quiet” came from listening data, not editor tags. The system watched what people actually played at 2 am for two months, then surfaced the patterns as filters.
Night-mode now-playing screen · v2.4 · shipped Nov 2024
What changed,
and how we measured.
Cohort over six weeks post-launch. The 8-day cliff disappeared on the night surface.
Daily active users between 11pm and 4am, vs. comparable cohort pre-launch.
Median listening session 11pm–4am grew from 12 min to 18 min over twelve weeks.