A dark-mode pass in 48 hours
Halcyon, a scheduling tool for clinics, promised dark mode in a launch tweet before anyone checked whether the system could deliver it.
- Client
- Halcyon, health scheduling
- Scope
- 214 surfaces, full app
- Timeline
- 48h, one request
The problem
The announcement was public and the date was fixed. Hand-painting 214 surfaces in a week was not an option, and a naive invert would have wrecked the clinical-legibility contrast rules Halcyon lives by.
This is the request type Wraith exists for: mechanical in volume, unforgiving in judgment.
Three moves
Map every surface through tokens
All 214 surfaces already resolved to 19 semantic color roles. Dark mode became a second value set for those 19 roles, not 214 individual decisions.
Hold AA on every pair, programmatically
Every foreground and background combination was contrast-checked in the draft itself. Four role values failed at first pass; Wraith flagged them and proposed compliant alternatives.
Human pass on the moments that matter
Charts, medication alerts, and focus states got a manual review. Alert colors were re-tuned by hand: safety-critical UI does not ship on an algorithm's word.
Before and after
What shipped
- 214
- surfaces remapped through tokens
- 19
- semantic roles carry the whole theme
- 48h
- request to signed delivery
- 100%
- of text pairs hold AA contrast
Nnamdi E.
Senior Designer, Wraith
Signed after re-tuning the alert palette by eye. The checker said pass; the ward lighting said brighter.
Illustrative case, composed for planning purposes. Names and numbers are placeholders.
Your product could be case 04.
First draft in 48 hours, a named designer signs everything, pause anytime.