Sign in

Nathan A Curtis

@nathanacurtis.bsky.social
1.4K followers 94 following 170 posts

Design systems consultant at Directed Edges in Fairfax, VA USA. Figma Specs plugin creator. Blogger on @medium. Formerly EightShapes. Supports Arsenal, University of Chicago and Virginia Tech. From Ohio, originally.

PostsRepliesMedia
Nathan A Curtis @nathanacurtis.bsky.social · 29/09/2026
Annotating UI components and their parts with role patterns to succinctly composite behaviors and accessibility reusable across a library and code generators supporting it. nathanacurtis.substack.com/p/component-... www.specsplugin.com/roles/invent...
nathanacurtis.substack.com
Component and Part Roles as Composites of Behavior and Accessibility
Declare what an element is once so that every platform knows how it behaves
030
Nathan A Curtis @nathanacurtis.bsky.social · 10/09/2026
I mean, it’s all pixels and systems. Why constrain to prohibit a breakpoint at any measurement you want? AI’s got this! (Hashtag continues sarcasm)
100
Nathan A Curtis @nathanacurtis.bsky.social · 10/09/2026
Three of my teammates have complained in the last two days of future shock. en.wikipedia.org/wiki/Future_...
en.wikipedia.org
Future Shock - Wikipedia
010
Nathan A Curtis @nathanacurtis.bsky.social · 30/05/2026
Yeah, pens are dumb and don’t define their performance. What a shift they put in.
050
Nathan A Curtis @nathanacurtis.bsky.social · 10/05/2026
Nowhere near enjoyable. Gunners did not play with the heart and passion of a champion except for a few bursts, otherwise sleepwalking a second half. Love the outcome, but hate that journey.
170
Nathan A Curtis @nathanacurtis.bsky.social · 22/04/2026
I am expanding it to slot default content, which basically means a composition shape, which means … everything: ready made examples, patterns, all the way to page definitions. I am also working on “partial” Figma generated and “unstructured” yet still organized “supplemental requirements.”
040
Nathan A Curtis @nathanacurtis.bsky.social · 11/04/2026
No idea. The eye test of this moderately-informed but not expert person suggests that Arsenal was far lower than that. So it makes me start to dismiss the visualization's relevance. 🤷🏻‍♂️
100
Nathan A Curtis @nathanacurtis.bsky.social · 11/04/2026
I propose that this meter isn't measuring the right things to answer the question "Who deserved to win?"
100
Nathan A Curtis @nathanacurtis.bsky.social · 27/03/2026
Wow. This article, while situated in a far more serious context with grave consequences - maps cleanly to risks and realities I see happening on teams I work in making design systems with AI.
010
Nathan A Curtis @nathanacurtis.bsky.social · 23/03/2026
You can choose to see a different future that isn't across-competition collapse.
010
Nathan A Curtis @nathanacurtis.bsky.social · 17/03/2026
Observation: White movement helping Saka be more dynamic?
000
Nathan A Curtis @nathanacurtis.bsky.social · 27/02/2026
open.substack.com/pub/nathanac...
open.substack.com
Configuration Collapse
As Figma Slots Push Composability, Be Ready to Drop Props
050
Nathan A Curtis @nathanacurtis.bsky.social · 27/02/2026
Well that is about as favorable a Champions League bracket side as Arsenal could have ever imagined.
120
Nathan A Curtis @nathanacurtis.bsky.social · 18/02/2026
I haven’t been this apoplectic about a performance in over a decade. Everything everyone says about mentality is, on today’s measure, deserved.
1240
Nathan A Curtis @nathanacurtis.bsky.social · 26/01/2026
What I saw emerging before and taking hold after ManU’s first goal was sluggishness. When all the “random” balls start dropping at an opponent’s feet. How much of this is accumulated fatigue and do you rotate the ENTIRE side including bench for the CL?
020
Reposted by Nathan A Curtis
SmashingConf @smashingconf.com · 20/01/2026
SmashingConf is back for 2026! We’re bringing thoughtfully curated conferences to Amsterdam 🇳🇱 Freiburg 🇩🇪 and Antwerp 🇧🇪. - Actionable talks on design systems, UX, accessibility, CSS and more - Hands-on workshops - Side events & networking that actually help you connect smashingconf.com/conferences/
smashingconf.com
SmashingConf in-person Conferences 2026 — Friendly, inclusive & fun events for web designers and developers.
Looking for a practical conference about web design and development? We organize three hybrid conferences in 2026: Amsterdam, Freiburg, and Antwerp. Get your ticket now! Front-end, design, UX and…
031
Nathan A Curtis @nathanacurtis.bsky.social · 19/01/2026
Either via plugin/AI or copy the layer, select it's parent, use Figma's convenient select all matching layers, paste.
110
Nathan A Curtis @nathanacurtis.bsky.social · 16/01/2026
open.substack.com/pub/nathanac...
open.substack.com
"Code Only" Props in Figma
Expanding component API shape in design assets
130
Nathan A Curtis @nathanacurtis.bsky.social · 10/01/2026
I've generally been using VS Code/Copilot in my work with: - Claude Sonnet 4.5 for most spec'ed features - GPT 5.2 for heavy refactors - GPT 5 mini for basic things and - mixing in Gemini and Claude Opus for cross-referencing/parallel takes.
010
Nathan A Curtis @nathanacurtis.bsky.social · 10/01/2026
Why are LLM plans so ridiculously conservative in time estimates? "Your POC will take 1 week and implementation 13 weeks." It just finished the POC (with added scope) in 1 hour and says implementation is now 3 days. Like, is it taunting me with "Without LLM" estimates?
000
Nathan A Curtis @nathanacurtis.bsky.social · 10/01/2026
So my now for a Saturday morning instructing an LLM to "Implement REST API conversion a Figma library file into my Anova data model based on Github spec kit's plan and tasks.", going to take a shower, coming back and realizing I didn't autoapprove the CLI commands and it got stuck on step 1.
370
Nathan A Curtis @nathanacurtis.bsky.social · 31/12/2025
I started using GPT 5.2 (instead of Claude 4.5 or similar) for plugin development yesterday. Today, I noticed the havoc this wreaked on my machine's energy consumption. Holy camole.
030
Nathan A Curtis @nathanacurtis.bsky.social · 24/12/2025
In my travels, I have rarely seen semantic spacing, when I do it’s for a few specialized cases rather than for day-to-day composition, and that lack of semantic spacing makes me sad.
130
Nathan A Curtis @nathanacurtis.bsky.social · 23/12/2025
I hate penalty shootouts in football. I would much rather see a “Remove a player for the pitch every three minutes” and see what happens
010
Nathan A Curtis @nathanacurtis.bsky.social · 15/12/2025
When do we have the Gyokeres conversation? Patience is trying. I get that he’s a runner, but he does so much else so poorly, such as receiving aerial service. It’s just… bad. Like my cousin’s fav windup whisper to an opponent: “why don’t your teammates pass to you?”
010
Nathan A Curtis @nathanacurtis.bsky.social · 14/12/2025
Stats like this make it obvious: when are we going start having the Victor G goodness-of-fit conversation? The eye test has suggested we do so since his very first appearance.
000
Nathan A Curtis @nathanacurtis.bsky.social · 13/12/2025
So what rate is an acceptable rate? (The answer is “When the rate is better than the human rate” although society won’t behave that way, such as with autonomous vehicles)
100
Nathan A Curtis @nathanacurtis.bsky.social · 13/12/2025
I agree. Although, also, as if humans are reliable and trustable in copious processes where AI isn't in the loop. I also think trust and reliability depend on task/scenario and vary in significance relative to opportunity, risk and value. Me coding a plugin ≠ AI confirming nuclear launch codes.
110
Nathan A Curtis @nathanacurtis.bsky.social · 13/12/2025
Do you reframe things? "Trust but verify instead of don't trust?" As I code, I find that AI makes mistakes, muddles things, but also learns. It can learn fast. Kinda like a junior coworker learning on the job. Despite the challenges, undoubtedly my output is still faster and better.
100
Nathan A Curtis @nathanacurtis.bsky.social · 12/12/2025
Love the article. RVP was for a bit, but he got out while can? Don’t give that sucker no statue. Give him guts! Thus my favorite was long Ramsey. My prediction (after that injury)? Pain. Eventually, he was a fine champion, but his time was past. We wish him luck.
000
Nathan A Curtis @nathanacurtis.bsky.social · 11/12/2025
So, I won "Best Plugin" for the Figma Specs plugin at the @zeroheight.com design system awards last night, and am excited! I told my family, and two my kids reacted this way. I'm now also slightly confused.
"Clock ittt, Dads an aura blud"
3120
Nathan A Curtis @nathanacurtis.bsky.social · 04/12/2025
I am seriously tripping out. I just experienced two agentic "party mode" rounds of a team discussing an ADR of spec data schema updates for absolute positioning and Figma's Grid. Their perspectives were so thoughtful, the decision correct. Is this my (short lived) future before I'm replaced?
130
Nathan A Curtis @nathanacurtis.bsky.social · 30/11/2025
Can you elaborate?
130
Nathan A Curtis @nathanacurtis.bsky.social · 28/11/2025
Temptations/Four Tops (1st) Rush Barenaked Ladies (in a strip mall in front of the Record Exchange) Jonatha Brooke Max Richter
030
Nathan A Curtis @nathanacurtis.bsky.social · 22/11/2025
Yeah seriously. A high school volleyball game has four refs. Basketball, three. Baseball, four. American football, so many more. And yet this game, so expansive and so many players, with one.
000
Nathan A Curtis @nathanacurtis.bsky.social · 18/11/2025
Now, I do need to get around to implementing slot prop evaluation (`body` 👀)
000
Nathan A Curtis @nathanacurtis.bsky.social · 18/11/2025
I have converted my Anova plugin to use Figma color tokens sensitive to Figma's light/dark mode. I like the results, and despite the lack of personality, value that the plugin conveys the same visual language as its parent environment.
120
Nathan A Curtis @nathanacurtis.bsky.social · 12/11/2025
I'm improving my Anova plugin that generates component specs consistent with a JSON schema to manage specs in the file and easily consolidate and copy them into code.
010
Nathan A Curtis @nathanacurtis.bsky.social · 10/11/2025
Slots in Design Systems:Improving flexibility through custom composition inside components My latest on Substack nathanacurtis.substack.com/p/slots-in-d...
nathanacurtis.substack.com
Slots in Design Systems
Improving flexibility through custom composition within components
041
Nathan A Curtis @nathanacurtis.bsky.social · 06/11/2025
As design system teams start applying Figma's slots, they may best cope with having Menzel's "Let It Go" on repeat in the background. Relinquishing control is going to be... very difficult for some people.
2110
Nathan A Curtis @nathanacurtis.bsky.social · 03/11/2025
There’s a reason Flea covers Higher Ground.
030
Nathan A Curtis @nathanacurtis.bsky.social · 02/11/2025
Packing cubes are usually needed, but for me it’s about lean, backpack ready weight.
120
Nathan A Curtis @nathanacurtis.bsky.social · 01/11/2025
I would enjoy you driving Play That Funky Music, and the audience can sing along
220
Nathan A Curtis @nathanacurtis.bsky.social · 20/10/2025
Is Substack preferred to Medium?
020
Nathan A Curtis @nathanacurtis.bsky.social · 20/10/2025
People will rise and fight when they can see people like themselves or that they care about being unnecessarily killed, abused or sufficiently freedom curtailed through a filter that doesn’t distort the truth. They need SEE and RECOGNIZE a sufficient threat.
110
Nathan A Curtis @nathanacurtis.bsky.social · 20/10/2025
Jumping from Kent St to gas chambers? C’mon. I grew up in Kent. Your dismissing it and claiming only gas chambers provoke change are both unhelpful. Kent St - middle America, middle class and “quieter” than Berkeley - was initially blamed on students. But unnecessary dead change opinions quickly.
210
Nathan A Curtis @nathanacurtis.bsky.social · 10/10/2025
Assuming the first is a real historical figure, you actually rate Vader above Palpatine? Vadar did it for a confused sense of love in addition for his thirst for power. The emperor? Not so confused.
110
Nathan A Curtis @nathanacurtis.bsky.social · 09/10/2025
Quite the Nickelsonian Departed-nodding going on there...
110
Nathan A Curtis @nathanacurtis.bsky.social · 08/10/2025
Did you see the other reply with substack? Is that better?
200
Nathan A Curtis @nathanacurtis.bsky.social · 08/10/2025
I'm already pretty maxed with the consulting + plugin + writing + etc. I'm almost never inclined to custom build infrastructure (see my clear relinquishing of profit potential by using Figma's payment platform for my plugin).
100