Sign in

Jamie Kyle

@jamie.build
2.1K followers 341 following 514 posts

They/Them. Open source. Comic books. Board games. Prev: Babel, Yarn, Flow, Parcel, Biome

PostsRepliesMedia
Jamie Kyle @jamie.build · 06/08/2026
Working on a new design system component for various kinds of list items, settings rows, etc throughout our app It looks simple but it's turning out to be extremely difficult. I'm not sure it's even possible I've gotten very close except for centering "value" codepen.io/editor/Jamie...
130
Jamie Kyle @jamie.build · 27/05/2026
My boyfriend trying to name the members of NSYNC “There’s Justin, there’s the gay one… what’s his name? Lars Fish?”
040
Jamie Kyle @jamie.build · 21/04/2026
Omegaverse in CSS lets goooo drafts.csswg.org/css-color-5/...
::backdrop {
  /* black @ 80% opacity */
  background: alpha(from black / 80%);
}

.help {
  /* Use the current color at 50% opacity */
  color: alpha(from currentColor / 50%)
}

.emoji {
  /* Reset the opacity of emojis to 100% */
  color: alpha(from currentColor / 100%);
}
Screenshot of settings dialog showing two checkbox fields with black text on the normal one and red text on the errored one. Showing the use of the relative alpha() color syntax from the last screenshot.

1. Help text with relative color at 80% for both black and red text
2. Emoji that resets the alpha value to 100%
3. Dialog backdrop background is black at 80% opacity
080
Jamie Kyle @jamie.build · 18/03/2026
Let's not let our most critical open source dependencies become a hot bed for AI-generated bugs and security incidents while also profiting off the hard work of open source developers Please sign this petition to convince the Node TSC to reject AI contributions to core: github.com/indutny/no-s...
github.com
GitHub - indutny/no-slop-in-nodejs-core: A petition to disallow acceptance of LLM assisted Pull Requests in Node.js core
A petition to disallow acceptance of LLM assisted Pull Requests in Node.js core - indutny/no-slop-in-nodejs-core
250
Jamie Kyle @jamie.build · 18/03/2026
Let's not let our most critical open source dependencies become a hot bed for AI-generated bugs and security incidents while also profiting off the hard work of open source developers Please sign this petition to convince the Node TSC to reject AI contributions to core: github.com/indutny/no-s...
github.com
GitHub - indutny/no-slop-in-nodejs-core: A petition to disallow acceptance of LLM assisted Pull Requests in Node.js core
A petition to disallow acceptance of LLM assisted Pull Requests in Node.js core - indutny/no-slop-in-nodejs-core
020
Jamie Kyle @jamie.build · 12/02/2026
I really wish that protobufs supported creating custom scalar types
scalar AciBinary = bytes;
scalar UnixEpochMs = uint64;

message CreateMessage {
  AciBinary   author = 1;
  UnixEpochMs sentAt = 2;
  // ...
}

message DeleteMessage {
  AciBinary   targetAuthor = 1;
  UnixEpochMs targetSentAt = 2;
}

service MessageService {
  rpc Create(CreateMessage) returns ();
  rpc Delete(DeleteMessage) returns ();
}
020
Jamie Kyle @jamie.build · 11/02/2026
Having some serious networking issues with @github.com today, pages loading for ~30-60 seconds, lots of requests failing, I can see their janky caching and turbolinks shit giving me old state and breaking the UI. Nothing on githubstatus.com yet though
240
Jamie Kyle @jamie.build · 13/01/2026
Policing as a system originated from slave patrols in the US in the 1600s. To capture fugitive enslaved people & squash rebellions Slaves were considered property and the earliest police were created to protect property owners. And to this day that's their only real purpose, to protect property
010
Jamie Kyle @jamie.build · 13/01/2026
Pride & Prejudice fans, have you ever wondered why no one contacted police when Wickham & Lydia ran off? Ignoring that it wasn't a crime at that time, it's also because the police didn't exist in 1811. They wouldnt exist for another 18 years Police are a modern invention and there are alternatives
110
Jamie Kyle @jamie.build · 20/12/2025
I don’t polyfill anything, I work on an electron app so all I ever have to support is latest chromium
010
Jamie Kyle @jamie.build · 20/12/2025
That’s literally what I’m doing but in the variables
110
Jamie Kyle @jamie.build · 11/12/2025
Using named and themed color variables in our design system has been a massive quality of life improvement Tailwind wasn't quite as bad, but even that has improved dramatically More consistency, and less you need to remember. And we've added high contrast mode, so its actually covering 4 themes
3170
Jamie Kyle @jamie.build · 10/12/2025
Theres a straight line from US politicians to starving children in refugee camps going go school in tents only to have bombs dropped on them Dems are asking us to step over their bodies on the way to the polls for candidates whose version of “fighting” for us is dropping one liners for tiktok views
100
Jamie Kyle @jamie.build · 10/12/2025
When a candidate is called out for supporting Israel, Dems will say “This is what got us Trump! Let’s focus on the US! Stop with purity tests!” We’re talking about genocide Remember this when they promise to save you from fascism, they will feed you to the wolves and call you a single issue voter
1140
Jamie Kyle @jamie.build · 04/12/2025
It's frustrating that email clients haven't all standardized around using a webview with a publicly available custom UA stylesheet. Do whatever sanitization is necessary, but stop messing around with layout and specificity
020
Jamie Kyle @jamie.build · 04/12/2025
It's shocking to me that Windows doesn't have an equivalent app as macOS Preview. Like what do you mean you need to download a separate app to sign a PDF? Why is Windows adding AI features when it can't do everyday things like this....
230
Jamie Kyle @jamie.build · 22/11/2025
I’ve only used virtual, which iirc doesn’t work with the React compiler
110
Jamie Kyle @jamie.build · 22/11/2025
A lot of React libraries try making “core/dom” versions (well meaning, but used by no one & arent actually complete/well maintained standalone libs) that they wrap with a React API The problem is they tend to model things in a way that is unfriendly to React & you just end up with bugs & code bloat
160
Jamie Kyle @jamie.build · 13/11/2025
It sounds like you open this the same way you open a card in your wallet while your device is still locked Ideally it should *only* be accessible while your phone is unlocked, and anyone with more concern than that should already be turning their devices off entirely or not bringing them
Quote from article “You also won’t need to unlock, show, or hand over your device to present your ID — Something you shouldn’t do with driver’s licenses, either”
120
Jamie Kyle @jamie.build · 13/11/2025
If you’re benchmarking your function down to the microsecond then maybe it matters, otherwise ¯\_(ツ)_/¯ The only time I’ve ever cared about this was when writing very optimized encoders/decoders for binary formats
000
Jamie Kyle @jamie.build · 07/11/2025
The singing and production is very good no doubt, but like… you could give the best performance ever of ‘Baby Shark’ or ‘1-877-Kars-4-Kids’ and they would still drive me mad
010
Jamie Kyle @jamie.build · 07/11/2025
It’s a lonely opinion but I can’t stand the song ‘Golden’ from K-pop demon hunters. It’s like they wrote the lyrics specifically for the kidz bop cover. I don’t understand adults that like this song
120
Jamie Kyle @jamie.build · 30/10/2025
Yay, I built this, please enjoy:
5860
Jamie Kyle @jamie.build · 30/10/2025
I wish I could add constraints to groups of CSS grid template rows/columns. Like grid-template-columns: group( 1fr, // total for both [col-1] auto, [col-2] min-content ) [col-3] fit-content group( 1fr, // total for both [col-4] min-content [col-5] auto );
020
Jamie Kyle @jamie.build · 30/10/2025
I know lots of other frameworks shipped similar APIs long before React so I’m looking around to see if anyone has already attempted to build libraries for this purpose
010
Jamie Kyle @jamie.build · 30/10/2025
Building libraries of prebuilt animations has always been tough because they tend to be so fiddly But the new view transition API is so naturally composable. And with React’s new <ViewTransition> component I feel like I can imagine how to built a very customizable set of common animations
140
Jamie Kyle @jamie.build · 29/10/2025
This little snippet made debugging view transitions a lot easier
::view-transition-group(*) {
  animation-duration: 3000ms;
}

::view-transition-group(*)      { outline: 1px solid blue   }
::view-transition-image-pair(*) { outline: 1px solid yellow }
::view-transition-old(*)        { outline: 1px solid red    }
::view-transition-new(*)        { outline: 1px solid green  }
213516
Jamie Kyle @jamie.build · 27/10/2025
Andrew Cuomo is racist and is running on a racist platform
020
Jamie Kyle @jamie.build · 27/10/2025
People horrified and furious at the before and after photos of the white house… if you think that’s bad, you should see what israel did to Palestine
081
Reposted by Jamie Kyle
Biome @biomejs.dev · 24/10/2025
Biome v2.3 is out! 👨‍👨‍👦‍👦 Full support for @vuejs.org, @svelte.dev and @astro.build ‼️ New ignore syntax 🌬️ Tailwind v4 support ⌨️ New CLI flags and reporters biomejs.dev/blog/biome-v...
512319
Jamie Kyle @jamie.build · 25/10/2025
Even the environment aspects of AI Tech has been unregulated in its abuse of the environment for a long time and it’s driven by a lot more than just AI And they’ve been promising it will get better soon with just a liiiiittle bit more innovation for years More environmental regulation is needed
051
Jamie Kyle @jamie.build · 25/10/2025
Yeah everyone is hearing about AI in the workplace right now, and everyone has coworkers or bosses that have fallen for the hype of AI Take a moment to realize how little it’s actually changed the work that needs to be done. How things are progressing largely at the same pace they always have
173
Jamie Kyle @jamie.build · 25/10/2025
You see stories of college students not being prepared for college and turning to AI? They’ve been in school for the last 12 years… they were not using AI the entire time What did just happen is that they did high school during covid lockdowns which fucked their education up horribly
141
Jamie Kyle @jamie.build · 25/10/2025
Look past the headlines about the actual trends happening “CEO Lays Of 1000s, Says They Will Be Replaced With AI” Mass layoffs have become more and more common for decades. They were going to lay those people off, they just want investors/the public to think it’s part of some vision
182
Jamie Kyle @jamie.build · 25/10/2025
Making people afraid of AI is part of the grift of AI It helps create this image that it’s more powerful than it actually is Or that it’s inevitable, that everyone is betting everything they’ve got on AI even if it’s going to make everything worse
152
Jamie Kyle @jamie.build · 25/10/2025
It’s important to recognize that AI really hasn’t changed the world that much. People are still working, going to school, paying mortgages, making art It feels like these things are getting worse because they’ve been getting worse for a very long time Covid set everything on fire, not AI
182
Reposted by Jamie Kyle
Zohran Kwame Mamdani @zohrankmamdani.bsky.social · 25/10/2025
POLLS ARE NOW OPEN. Find out where you early vote ⬇️ 🗳️ findmypollsite.vote.nyc
522187124012
Jamie Kyle @jamie.build · 25/10/2025
Sam Altman is just another tech grifter who will say anything to keep selling his grift and it will only become more and more apparent with time because grift simply cannot last forever
1305
Jamie Kyle @jamie.build · 25/10/2025
👀👀👀👀👀👀👀👀
000
Jamie Kyle @jamie.build · 24/10/2025
I don’t love the pattern, but I would prefer they all worked well and consistently instead of what we have now which is every third website becomes unusable on mobile if you open a keyboard
010
Jamie Kyle @jamie.build · 16/10/2025
I hope we get some sort of media query for "Differentiate without color" github.com/w3c/csswg-dr...
github.com
[mediaqueries-5] Media query to prefer shapes over colours · Issue #7406 · w3c/csswg-drafts
Thank you for the recent additions of https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-contrast https://d...
030
Jamie Kyle @jamie.build · 16/10/2025
Are there any good Discord servers or something for people to discuss web accessibility?
010
Jamie Kyle @jamie.build · 16/10/2025
I can see it both ways for backdrops The reason for having a semi-transparent backdrop is so when you open up a dialog you have a sense of place and know you haven't lost your state But maybe someone is really zoomed in & doesn't understand that a dialog is open if they just see the backdrop
000
Jamie Kyle @jamie.build · 16/10/2025
All of the examples of prefers-reduced-transparency that I've found are for when you have a dialog or some other component that itself has some transparency. Something with text/icons on it thats harder to read because of the transparency
100
Jamie Kyle @jamie.build · 16/10/2025
Accessibility question For ::backdrop's (dialog overlays) that have a semi-transparent bg to obscure the page behind them: Should we make the backdrop more obscured for `prefers-reduced-transparency`? Like if the backdrop is black/40% should we make it black/80%? 100%? Should we blur the bg?
dialog {
  /* The dialog itself is not semi-transparent at all */
  background: light-dark(white, black);
}

::backdrop {
  /* These values particular seem like very low values for a backdrop */
  background: light-dark(hsl(white / 20%), hsl(black / 40%));
  
  @media (prefers-reduced-transparency: reduce) {
    /* Should we increase them in reduce transparency mode? */
    background: light-dark(hsl(white / 60%), hsl(black / 80%));
    /* Would blurring the background actually help in this case */
    backdrop-filter: blur(10px);
  }
}
263
Jamie Kyle @jamie.build · 06/10/2025
There should be a `fromIndex` parameter in `array.findIndex()` like the one in `array.indexOf()`: Exists: let array = ["foo", "bar", "foo"] array.indexOf("foo") // 0 array.indexOf("foo", 1) // 2 Doesn't exist: let fn = val => val === "foo" array.findIndex(fn) // 0 array.findIndex(fn, 1) // 2
040
Jamie Kyle @jamie.build · 26/09/2025
Don't try to infer people's pronouns based on their name, just use "their" Or honestly it's really easy to just avoid using pronouns at all in your strings. Most UI doesn't try to read like full sentences anyways > #1234 "Update symbols font" • Marked ready for review by Jamie
160
Jamie Kyle @jamie.build · 26/09/2025
GitHub allows you configure your pronouns that it shows on your profile which it also uses in some of the strings in the UI and makes accessible through the API It defaults to the value "Don't specify" but then it seems to either default to "He/Him" or tries to infer it based on your name
Screenshot of the "Pronouns" select menu with "Don't specify" selected. Other options include "they/them", "she/her", "he/him", or "Custom"Screenshot of a message from "DroidHub" (an internal company bot) with the text: Jamie marked his PR "Update symbols font" targeting main as ready for review

This text is generated based on GitHub's Webhook API which includes a value of "possessivePronoun" which is coming through as "his"

The internal bot actually tries to default to "their" if no "possessivePronoun" is returned by the webhook api
151
Jamie Kyle @jamie.build · 25/09/2025
I assumed system-colors would be the same, if you try reading it in JS you just get the color name, but if you draw it on canvas you get the system preference color
010
Jamie Kyle @jamie.build · 25/09/2025
Oh I see, yeah you can't get the value of accent-color: auto In JS it just returns "auto" and if you draw a checkbox or something into canvas it will use the default OS accent-color instead of your system preference
110