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
The editor experience in Figma gets a lot more love than the library analytics side of the tool. I was frustrated to see features like diff checking get released in an editor workflow, but not extended to the analytics experience. There's a ton of rich information locked up inside Figma! I wanted to be able to answer questions like:
I didn't want to wait around for Figma to get good, so I made a Coda Doc that lets me track all the right metadata to answer those questions and more. With a little bit of dedication, we now have a doc that chronicles every single publication that gets made.
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 DMing our researchers for help digging up 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.
Or as Vidhika put it, "the shortcut now is the long way later." Obsessing over numbers, especially the ones you can't control, is what you do when you lack creativity and heart. I play the long game because it's more fun and it's how you win.
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 (check out my portfolio project on building a multi-brand library ecosystem), but it can be more than that: long before Figma released its slide deck product, I advocated for our team to use the design tool to make presentations.
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 weaker implementation of auto layout and clunky multi-player experience are enough for me to discount it outright.
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 Figma plugin. 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 Figma and FigJam. Not a deal breaker, but it creates info silos and I don't like that.
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 options for viewing table data are too limiting, and so are 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.