I led the architecture and construction of a Figma component library ecosystem comprised of 7 interconnected files. Our main design system crew was as lean as it gets: me and one engineer. Along the way we've had bursts of help from a QA analyst and other engineers to support our build of v1. Going from nothing to that first big release took us about 8 months. And of course the work doesn't stop there. We continue to make enhancements, like adding variables on the Figma side of the house, squash bugs, and improve our documentation.
Greatest challenges
What consumers are saying
"Instead of spending weeks on a design... I could spend days." - Ryan Weisser
What was once a bulleted to-do list in a google doc has now become a feature-rich, highly personalizeable interactive checklist. Over the course of 2 years our team exploded from 2 researchers and a product designer to 6 researchers, 16 designers, and me. Now don't get me wrong, the onboaridng to-do list google doc my team gave me was great, but I knew we could take it to the next level. It was critical to me that we had a strong first impression with new teammates from day 1. I wanted the onboarding doc to help convey parts of our team culture, like always taking care of each other, and giving great attention to detail.
Onboarding doc features:
Our UX research team needed a way to let non-researchers browse through their growing collection of key findings and recommendations. Until our repo, this information was trapped in static presentation decks. Rather than everyone time sending and responding to endless Slack requests asking for help digging up past insights from past studies, we could make that experience entirely self-serve. This benefits everyone, including our researchers! They too need to reference past work. This repo became a bustling hub, seeing multiple visitors every single day. The top average session time on the "key findings" area of the repo is 14m!
I built this repo using Coda.io so we could have 100% control over the information architecture. By leveraging Coda's buttons, automations, and inline controls the doc took on an app-like feel.
Custom repo features:
Having to use crappy software that holds you back feels like throwing money and morale down the drain. My teammates and I deserve tools that make us feel in control, empowered, and beyond capable of doing our best work.
I don't name my layers, organize my canvases, and keep tidy pages and files for myself. I do it for my future self and my colleagues. I care about them. This is no different than keeping spare batteries and first-aid kits around the house.
Obsessing over numbers, especially the ones you can't control, is what you do when you lack creativity and heart. Not me. I know how to produce the thing you might know as "luck."
Tools like Slack can be a context-rich gold mine if used properly. I cross-link messages whenever possible, am thoughtful with keywords to aid with discoverability in search results, and I post in public channels over private ones whenever I can.
They say you can only have two. I always reach for "good", or the most "good" I can get. After "good", I go for "cheap" because it sometimes comes with a surprise side of "fast" you weren't counting on (nice). I forgo speed because "fast" can come with hidden expenses.
Framing things as "problems" can cause unneeded stress. I prefer to call them puzzles. Learning is better when I'm having fun.
Obviously it gets heavy use for creating and maintaining UI component libraries, but it can be more than that: I also advocate for my teammates to create presentation decks using Figma.
Not just designers, but UX researchers too. The fact that you can embed Figma prototypes and create richly interactive elements gives you infintely more options for storytelling than something like Google Slides.
I haven't used Framer since 2018 and its evolved a lot since then. I see it less as a Figma alternative and more as a Webflow competitor with its publication capabilities.
Axure kicks ass and I'd be happy to use it. But it being more sophisticated makes for a higher learning curve, which can be hard to get a whole team on board with. However, if a team is wants to invest in robust prototype testing and can afford a few licenses, it's worth having in the stack.
Sketch's lesser implementation of auto layout and clunky multi-player experience are enough to discount it.
Design crit, retrospectives, workshops, fun and games, and lo-fi goal and project planning are all activities I find FigJam is well suited to host.
FigJam content can be easily turned into structured data using the Coda integration. From Coda you can send that data almost anywhere else in your tool stack.
For a collaboration tool, Miro's board and user management experience has really disappointed me. What's worse is that once I'm in a board and jamming on something, I find it freezes up way more often than it should.
There's also not an analogous plugin between Coda and Miro like there is for FigJam. Not a deal breaker, but not great.
Oh how I wish I had tracked the amount of money I've saved my teams by building Coda docs that can do the same things a bunch of bespoke off the shelf SaaS apps do...
I've been enjoying Coda since 2019. I've built all kinds of docs:
Notion's formula language, compared to Coda's, is very unintuitive and difficult to work with. Coda's formulas read more like English sentences, allowing folks to level up to "power user" faster and get more value out of the tool.
Airtable's constricted interface is too limiting, and so far their filters. When it comes to formulas, I found the same problem as Notion: learning curve was just too high.
Confluence doesn't let me work with structured data so it gets an automatic 👎.
Coda's pricing model remains one of the most realistic (and affordable) I've seen of any SaaS product in this space.