Sign in

Alan B Smith

@alanbsmith.bsky.social
781 followers 333 following 600 posts

👨‍💻 Principal Design System Engineer 🥃 Carb & cocktail fan account 🏔️ Boulder, CO 🅰️ Arsenal FC ⚽️ Il calcio é della gente

PostsRepliesMedia
Reposted by Alan B Smith
Andreas Møller @andreasmoller.dk · 04/10/2026
Why we are still arguing about CSS in 2026. andreasmoller.dk/blog/why-we-...
andreasmoller.dk
Why we still argue over CSS in 2026 — Andreas Møller
In December this year, CSS turns 30. But after 30 years, we still can’t agree on something as fundamental as how to add it to a website.
162
Alan B Smith @alanbsmith.bsky.social · 02/10/2026
#Inktober Day 1: Apple (Pie)
A color ink sketch of a slice of apple pie
070
Alan B Smith @alanbsmith.bsky.social · 01/10/2026
I can’t understand those choices when pound-for-pound those designers punched above their weight and had a huge impact. Continued investment in design systems is never a given. Layoffs are cold, contextless, and mechanical. We still have to advocate for what we do and prove we deserve to be here.
100
Alan B Smith @alanbsmith.bsky.social · 01/10/2026
Layoffs suck. Grief is hard. I lost an amazing icon & type designer. And I lost a design token wizard — truly one of the best at color theory I’ve ever seen. And a mobile designer / technologist who was truly amazing — design system alumni. If you’re looking to hire, I am happy to connect you.
112
Reposted by Alan B Smith
Josh Black @josh.black · 27/09/2026
Finally got a post up on the GitHuh blog github.blog/engineering/... 👀
github.blog
Improving site performance by shipping more CSS
How we fully migrated github.com away from CSS-in-JS.
4213
Alan B Smith @alanbsmith.bsky.social · 26/09/2026
VAR doing us zero favors today. 🤦‍♂️ #SummitUp
000
Alan B Smith @alanbsmith.bsky.social · 26/09/2026
Very poor (no) call. All player, no ball. Arguably a goal scoring opportunity. Probably should have been a yellow.
110
Alan B Smith @alanbsmith.bsky.social · 26/09/2026
The Google fat bear week game Is very cute. More fat bears, please.
000
Alan B Smith @alanbsmith.bsky.social · 24/09/2026
I realized it makes sense to have separate knowledge bases for different parts of our design system (icons, tokens, components, etc). Not one big brain, more like an octopus. 🐙 But that means we need to have shared terms and structure for each knowledge base. So we need a meta-ontology builder.
010
Alan B Smith @alanbsmith.bsky.social · 24/09/2026
More progress: A (prototype) ontology builder. Use Claude skills (or the CLI) to walk you through building a knowledge base step-by-step. I'm testing it to build our DS component ontology, and it's going well so far – much easier than trying to do this on my own. github.com/alanbsmith/o...
github.com
GitHub - alanbsmith/ontology-kit: A beginner-friendly toolkit for building ontologies
A beginner-friendly toolkit for building ontologies - alanbsmith/ontology-kit
120
Alan B Smith @alanbsmith.bsky.social · 23/09/2026
Progress 🧠
A knowledge graph of a few of our design system components. Components are connected to rules in the right side panel that govern their use.
130
Alan B Smith @alanbsmith.bsky.social · 23/09/2026
Started learning the basics of building an ontology. This Ontology 101 doc was very helpful. I wanted to stick to the core infrastructure, but I found I need to have a solid knowledge base structure to get good output from it. Down another rabbit hole we go. 🐰 🕳️ protege.stanford.edu/publications...
protege.stanford.edu
110
Alan B Smith @alanbsmith.bsky.social · 18/09/2026
If you're working on deterministic design system knowledge bases – turning insights into intelligence, I'd like to chat and compare notes. calendly.com/alanbsmith/c...
calendly.com
Casual Chat - Alan B Smith
000
Alan B Smith @alanbsmith.bsky.social · 18/09/2026
Design systems pushed forever for people to read docs (RTFM). And in the AI era, something finally is – ty, Claude. 🙏 But unstructured data is still too unreliable. Non-deterministic output clever enough to pose as authoritative truth is worse. Design md files are a sham. We need a better system.
110
Alan B Smith @alanbsmith.bsky.social · 18/09/2026
DM'd you one!
000
Alan B Smith @alanbsmith.bsky.social · 14/09/2026
Descent into madness has been my personal experience, yes. 😂 I fall back to the George Box quote: “All models are wrong, but some are useful.”
110
Alan B Smith @alanbsmith.bsky.social · 14/09/2026
But if you’re measuring component complexity, a global search nav would win over common elements every time.
010
Alan B Smith @alanbsmith.bsky.social · 14/09/2026
Makes sense! My next thought is whether component adoption is really a proxy metric for visual alignment. If so, common elements (button, text, icon) and prominent elements (table) should have more weight as they make up the majority of the UI. Whereas you might only have one search nav per view.
200
Alan B Smith @alanbsmith.bsky.social · 14/09/2026
Ah, okay! I agree — Box doesn't really count except that hopefully they’re using our tokens too. It would be interesting to assign weights based on complexity tiers and then assess whether those scores roughly match with what you would expect for DS adoption and alignment. 🤔
110
Alan B Smith @alanbsmith.bsky.social · 14/09/2026
Yeah, that’s my point. The structures serve different purposes. For adoption metrics, are you trying to get a better count of all components in use, or are you wanting to understand whether teams are using higher-level compositions alongside lower-level components?
100
Alan B Smith @alanbsmith.bsky.social · 14/09/2026
I get that with generative UI you don’t always know what will be rendered where, but it seems like you’d want to ensure you have smart containers to manage spacing elements for you. Adding margin to the end of each leaf element feels like a messy way to build predictable layouts.
000
Alan B Smith @alanbsmith.bsky.social · 14/09/2026
I’m new to A2UI, and it‘s possible I’m missing something important, but I think the Margin Leaf spec is flawed? We learned this lesson a while ago on the web. Adding margin to child elements instead of containers is error prone. That’s why we moved to use gap instead. a2ui.org/specificatio...
a2ui.org
Basic Catalog Guide - A2UI
A2UI, a streaming protocol for Agent-Driven User Interfaces
100
Alan B Smith @alanbsmith.bsky.social · 14/09/2026
But that’s not helpful for designers. I like organizing things from generic to specific and based on their intended usage because design and eng can generally agree on the structure. So a Card is a container, but it can have text (type), buttons (actions), links (navigation), or an image (visual).
110
Alan B Smith @alanbsmith.bsky.social · 14/09/2026
There are more branches, but this is the general idea, going from generic to specific Instance. Box ➡️ Card ➡️ Popup Card ➡️ Modal, Dialog, Toast, etc Text ➡️ Heading ➡️ Card Heading ➡️ Popup Heading ➡️ Modal Heading SVG ➡️ Icon ➡️ Button Icon ➡️ Modal Close Button
110
Alan B Smith @alanbsmith.bsky.social · 14/09/2026
Agree there. Atomic’s intent was simply to point out that UI is composed of repeated and often interchangeable parts, and we’ve long since outgrown that mental model.
010
Alan B Smith @alanbsmith.bsky.social · 14/09/2026
For now, I want to focus on the lower-level parts: tagging components, categories, and their related guidance like do’s and don’ts. We can fill out the knowledge graph over time.
000
Alan B Smith @alanbsmith.bsky.social · 14/09/2026
Still working on that. We have really high-level concepts: user roles, intents, and rules / relationships. We also have low-level concepts that describe components and their relationships. It feels like we need more in the middle to connect them?
100
Alan B Smith @alanbsmith.bsky.social · 14/09/2026
An example: Our designers like use their taxonomy to compare how components for web align with components for native mobile. For eng, we like to use a different taxonomy to assess how components are built. So we understand how a change to a card would impact other components downstream.
110
Alan B Smith @alanbsmith.bsky.social · 14/09/2026
IMO, taxonomies exist to provide structure for a given purpose (or purposes). Without knowing the intent or goal behind your structure, it’s hard to assess the organization of it.
200
Alan B Smith @alanbsmith.bsky.social · 13/09/2026
Normally the neighborhood park goes unused, but this season, the city ran out of fields and had to set up nets here too. The result: Kids pouring In from all over the neighborhood to play pickup soccer on a beautiful evening. More of this please. Calcio è della gente. ⚽️
A large green pitch with two soccer goals overlooking a beautiful Colorado sunset over the mountains. Lots of bikes are in piles off to the side, and kids are playing on the field.
021
Alan B Smith @alanbsmith.bsky.social · 13/09/2026
I see your point — Are we making everything too bland by making it so uniform? And maybe we are. But I’d argue Ive’s Luce doesn’t align with the rest of Ferrari’s design language, and that’s the real failure here.
120
Alan B Smith @alanbsmith.bsky.social · 11/09/2026
He’s excellent. Anyone with two ears and heart would agree. youtu.be/p7aQ1qkCITU?...
youtu.be
2 ears and a heart
YouTube video by palaisdementhe
010
Alan B Smith @alanbsmith.bsky.social · 10/09/2026
If you want to take a closer look at the code, the prototype lives here: github.com/alanbsmith/c...
github.com
GitHub - alanbsmith/canvas-icon-graph-prototype: a prototype graph database for canvas system icons
a prototype graph database for canvas system icons - alanbsmith/canvas-icon-graph-prototype
010
Alan B Smith @alanbsmith.bsky.social · 10/09/2026
It would be simple to add another node type, "Guidance" that's connected to the "direction" tag. where we add a note, "All direction icons should support bidirectionality (right-to-left and left-to-right). What was once implicit information in our docs becomes explicit intelligence in the graph.
100
Alan B Smith @alanbsmith.bsky.social · 10/09/2026
A tangible example: I built a prototype graph database for all our 800+ icons. Then I put an MCP server in front of the database so we could query them deterministically and with natural language. You can see all the tags on our arrow-up icon and all the icons tagged with "direction."
A graph representation of an arrow-up icon node with connections to other tag and synonym nodes that describe the icon.A "direction" tag node connected to all icon nodes that use that tag.
120
Alan B Smith @alanbsmith.bsky.social · 10/09/2026
We can actually put the institutional knowledge bound up in those docs into the graph itself as explicit relationships. And now with MCPs and agents we can inject that knowledge base into any workspace — meeting people where they design and build.
100
Alan B Smith @alanbsmith.bsky.social · 10/09/2026
Yeah, relying on md files to share information is pretty similar to what we’ve always done with docs. But passing unstructured data and hoping agents parse it and the implicit intent around it is pretty error prone. But what if the structure wasn‘t implicit? That’s where knowledge graphs come in.
210
Alan B Smith @alanbsmith.bsky.social · 09/09/2026
I think knowledge graphs are now a core part of a design system‘s product offering. Maybe this is just the evolution of documentation though. Similar to when we moved from style guides to shipping actual components. We’re moving from providing design data to design intelligence. 🧠
232
Alan B Smith @alanbsmith.bsky.social · 08/09/2026
I spent the day trying to recreate the cardamom buns I had in Stockholm. I got close, but we need to do more testing.
Several half sheets full of cardamom buns cooling after being pulled from the oven
031
Alan B Smith @alanbsmith.bsky.social · 02/09/2026
Ah, nice! That could work too, I think.
020
Alan B Smith @alanbsmith.bsky.social · 02/09/2026
Yeah, it’s been a while. 🙂 I’d love to learn more about what you’re working on now and compare notes. calendly.com/alanbsmith/c...
calendly.com
Casual Chat - Alan B Smith
100
Alan B Smith @alanbsmith.bsky.social · 02/09/2026
I’m working on scaling up our design system ontology and knowledge graphs at the moment. Trying to help agents. Seems adjacent to your context model work?
130
Alan B Smith @alanbsmith.bsky.social · 02/09/2026
Or even: - subject: primary button statement: Limit each surface to one primary button. level: should object: surface
000
Alan B Smith @alanbsmith.bsky.social · 02/09/2026
It would be nice to be able to search for all requirements where primary button is the subject.
000
Alan B Smith @alanbsmith.bsky.social · 02/09/2026
Really like this iteration. I‘m wondering if these requirement statements would benefit from a subject field. 🤔 Before: - statement: Limit each surface to one primary button. level: should After: - subject: primary button statement: Limit each surface to one primary button. level: should
410
Alan B Smith @alanbsmith.bsky.social · 30/08/2026
Nice! I haven’t seen v0.2.0 yet, but I perused an earlier version of DSDS, and I really like the idea. I think you’re onto something with interoperable/ multi-surface docs. It would be good to catch up. I’ll look at my schedule and DM you. Thanks!
010
Alan B Smith @alanbsmith.bsky.social · 30/08/2026
I think it will be. I’d like something more performant and predictable than shoving a ton of design system docs in a context window. It seems like I want a knowledge graph, but I experiment a bit more.
110
Alan B Smith @alanbsmith.bsky.social · 30/08/2026
Kind of a long shot, but I’ll ask: Has anyone put their design patterns and rules into a proper graph db or graph RAG to support your design system ontology? Looking to bounce some ideas with someone in the design-engineer space and maybe compare notes.
372
Alan B Smith @alanbsmith.bsky.social · 12/08/2026
I haven't looked into LSPs, but that makes a lot of sense. This looks cool. github.com/style-dictio...
github.com
Introducing `design-tokens-language-server` · style-dictionary style-dictionary · Discussion #1502
Hi Style Dictionary community! 👋 I’m excited to share a new tool that complements your design token workflows: the Design Tokens Language Server! Built with a focus on improving developer experienc...
000
Alan B Smith @alanbsmith.bsky.social · 12/08/2026
Maybe we could build a plugin that replaced them with CSS vars directly at build time? 🤔 Devs get the convenience of objects, users get the benefit of CSS? Y'all have thousands of vars too from what I can tell. IDK how y'all are solving this. Open to ideas if you have any. 😀
100