Building Obsidian, Tinder’s Design System

<p>When Tinder first launched in 2012, it pioneered a brand new user experience: the Swipe Right&reg; and &ldquo;Swipe Left&rdquo;&trade; features. The app&rsquo;s simplicity was a big part of what made it so appealing.</p> <p><img alt="A user interface with the Tinder logo at the top, a profile photo of a woman, her name and age, and a set of icon buttons representing actions like swiping left and right." src="https://miro.medium.com/v2/resize:fit:213/0*fDrjah0dLI55mjcx" style="height:421px; width:237px" /></p> <p><em>An early version of Tinder</em></p> <p>We&rsquo;ve emphasized building new features and moving fast while growing, but a decade later, Tinder has become a significantly more established app. It&rsquo;s become harder to maintain consistent design practices across every screen and component and the codebase suffered too.</p> <p><img alt="6 lines of code defining the style of a button in Swift" src="https://miro.medium.com/v2/resize:fit:630/0*LH6jEdtNZ0vaXrts" style="height:186px; width:700px" /></p> <p>The cost of designing, building, and maintaining features was becoming unsustainable. We needed a way to unify the appearance of the application, save time for product managers, designers, and engineers, and deliver a more consistent appearance to our end users. We needed a&nbsp;<em>design system</em>.</p> <h1>What is a design system?</h1> <p>Using patterns in designing software isn&rsquo;t a new idea &mdash; it&rsquo;s been around since at least the 1960s. But it was Brad Frost who popularized the phrase &ldquo;Design System&rdquo; with his 2016 book&nbsp;<a href="https://bradfrost.com/blog/post/atomic-web-design/" rel="noopener ugc nofollow" target="_blank"><em>Atomic Design</em></a>.</p> <p>A design system is essentially a standardized collection of styles and reusable components that dramatically reduces the cost of design and development and increases the quality of an application.</p> <p>One common idea across many design systems is the notion of &ldquo;Design Tokens&rdquo;. These are tiny bits of design data that can be used to build interfaces. Design Tokens can consist of colors, gradients, font faces, border radii, or any other value that&rsquo;s used in a UI.</p> <p><a href="https://medium.com/tinder/building-obsidian-tinders-design-system-e127770d8e3f">Visit Now</a></p>