Engineering a Design System

Our designers decided to use a design system.
What is a design system? How can it help speed up the design and the development of a mobile application?
We have to align the entire application to that design system, build re-usable components which will speed the development time up without creating too many issues, avoiding code repetition and creating something that our designers can check and interact with before the features using the designs are shipped.
A design system uses components, and that's where we started from. We decided to mimic the idea of `widgets` from Flutter. We had to engineer our system in a way that allowed us to create small enough (but not too atomic) components, re-usable, avoiding making them too big and complex (hard to read and understand, hard to refactor, etc..).
The decisions, how we made them (team effort - with all the suggestions, opinions and conversations we had to come to a solution) and how we are now using them to speed up the development of our app.
What problem we faced, how we solved them, how this impacted our development speed and approach over the weeks (and how it will impact us in the future).

How we 🛠 engineered our 🧑🏼‍🎨 design system

Luca Nicoletti

Android Engineer @Babylon Health

London, United Kingdom

View Speaker Profile