A small, fully scoped dark mode spec: the toggle, the persistence, the known edge case, and the metrics
People who use the app in low light get eye strain from a bright screen, and OLED devices burn through battery faster than they need to. Nighttime sessions get shorter and satisfaction drops. There is a softer cost too: no theme choice at all reads as inattention to comfort, which shows up later as weaker retention.
The spec stays deliberately narrow. A Theme option in Settings lets users switch between Light and Dark instantly, and the choice persists across sessions. An optional follow-on picks up the device system setting so nobody has to toggle anything. Sashirekha names the edge case rather than hiding it: a crash or restart drops the app back to light mode and the user has to reapply the preference. Measurement is the share of users enabling dark mode plus nighttime session duration, with app store ratings and brightness complaints behind them.
Worth stealing
Read this if
Writing an early feature spec and want a tight, complete small-scope example
The transferable bitSmall features are where spec discipline is easiest to see. This one is worth studying because it commits to a known failure case, separates primary from secondary metrics, and books accessibility work into the plan instead of leaving contrast to whoever picks up the ticket.
Reading on a phone? The embedded viewer is cramped — open the PDF in a new tab instead.