Developing in the Dark
summary
Deliveroo Rider app adds dark mode by converting the design system and app to Material Components day/night themes, writing custom Lint detectors that find missing night colors and banned hardcoded color names, and migrating buttons, typography and illustrations in stages over a three‑week effort within a two‑week release cadence. Drawables are duplicated for API<21, icons are tinted via theme attributes, an in‑app toggle complements system dark mode, and the rollout succeeds with riders adopting it.
AI-written summary · about
chapters (31)
- 0:00Intro
- 0:36Who is Deliveroo
- 2:34Rider Up
- 3:25End Result
- 3:53Online Qualify
- 5:27Delivery
- 6:34Design
- 10:53Check Status
- 12:13lint
- 19:00Material Components
- 22:03Theme
- 25:06Background
- 26:53Appearance
- 28:37Buttons
- 29:09Title
- 29:26Type
- 29:53Border
- 31:14Drawing Background
- 32:56Drawing Illustrations
- 33:23Dependencies
- 33:42HoldColor
- 34:17TeamColor
- 34:58TeamMaterial
- 36:14Maps
- 37:28System Settings
- 37:52Challenges Tips
- 38:24First Challenge
- 38:51QA vs PR
- 39:55Design review
- 40:52Data collection
- 41:28When to use colors
related talks
30mDo Not Go Gentle in That Good Night - Implementing a Dark Theme on Android
19mThe hardest part about building dark mode is that people think it’s easy
33mHow to Design a Dark Theme Using Material
18mBuilding dark mode with React Native at scale
22mDesign Systems at Deliveroo: Learnings and Frustrations
27mThemeability is the path to dark mode
39mGetting your apps ready for Material 3
36mConsistency is Key - Working with a Design System
