Sign in

Artem Sapegin

@sapegin.me
96 followers 91 following 195 posts

A coffee first frontend engineer at Stage+, creator of React Styleguidist, and award-losing photographer. Author of Washing your code: sapegin.me/book. Learning to cook at tacohuaco.co.

PostsRepliesMedia
Reposted by Artem Sapegin
Camille Fournier @skamille.themanagerswrath.com · 11/02/2026
The part of "everyone becomes a manager" in AI that I didn't really think about until now was the mental fatigue of context switching and keeping many tasks going at once, which of course is one of the hardest parts of being a manager and now you all get to enjoy it too
824036
Reposted by Artem Sapegin
Stef Walter @stephaniewalter.bsky.social · 20/03/2026
Netflix’s new passwordless login feels like a deceptive pattern. At first glance, it looks like Netflix removed the option to log in with a password. Your only visible path is the email code flow, with a code that expires in 15 minutes.
Netflix login page, with a message saying Enter the code we sent to your email, and a 4 digit empty box. A Get Help small section is collapsed at the bottom of the screenSame login page, with the 4 digits code input. The small Get Help section is expanded and reveals a first link that reads I can't access this email right now.
491
Reposted by Artem Sapegin
Vite @vite.dev · 12/03/2026
⚡️ Vite 8.0 is here! The most significant architectural change since Vite 2. ⏬ Powered by @rolldown.rs bringing faster production builds and more consistency 🛤️ New features such as tsconfig paths and emitDecoratorMetadata support vite.dev/blog/announc...
vite.dev
Vite 8.0 is out!
Vite 8 Release Announcement
639993
Reposted by Artem Sapegin
Vitest @vitest.dev · 12/03/2026
Vitest 4.1 is out! 🚀 ✅ Vite 8 support from day 1 🏷️ Test tags to organize, filter & apply shared options 🪝 New hooks for easier tracing, transactions and AsyncLocalStorage 🔍 Async leak detection 🤖 Agent reporter to reduce token usage And much more! Full blog post at vitest.dev/blog/vitest-...
vitest.dev
Announcing Vitest 4.1
Vitest 4.1 Release Announcement
116732
Reposted by Artem Sapegin
VoidZero @voidzero.dev · 12/03/2026
🚀Launch Week Update #1 🚀 OXLINT JS PLUGINS ALPHA 🏃🏽Run most ESLint plugins w/ 0 changes ✒️Write custom lint rules in JS/TS 🩹Get auto-fixes & suggestions from JS plugin rules 📊See JS plugin diagnostics live in your IDE oxc.rs/blog/2026-03...
oxc.rs
Oxlint JS Plugins Alpha
A collection of high-performance JavaScript tools written in Rust
0627
Artem Sapegin @sapegin.me · 06/03/2026
Amp’s decision to deprecate their VS Code extension is very questionable. Saying that CLI is a better way to use LLMs for coding is an opinion that many, myself included, don’t share. I’m tired of changing my workflow every week just because someone decided that this is better for me. It’s not.
110
Artem Sapegin @sapegin.me · 06/03/2026
This is a curious article.
100
Artem Sapegin @sapegin.me · 05/03/2026
It’s fun to watch how LLM is randomly changing values in TypeScript/ESLint/Vitest/etc config files for a full hour until it somehow starts to work. I usually do exactly the same.
020
Reposted by Artem Sapegin
Kilian Valkhof @kilianvalkhof.com · 04/03/2026
This is probably not a revelation to everyone but with CSS nesting adding reduced motion support is as easy as wrapping your transition (or animation) declaration in a no-preference media query. div { /* css styles */ @media (prefers-reduced-motion: no-preference) { transition: …; } }
3354
Reposted by Artem Sapegin
Stef Walter @stephaniewalter.bsky.social · 04/03/2026
This is your reminder that women exist in tech the rest of the year, not just in March. Same for queer, BIPoC, disabled people and every other marginalized group. Stop inviting us just as a diversity token during the "month of" for your nice PR campaigns! And stop expecting free labor. Thanks.
0348
Reposted by Artem Sapegin
Soren @sorenblank.com · 03/03/2026
another good example of `tabular-nums` in action. must have for columns of right-aligned numbers (tables, invoices, dashboards). normal table's columns have ragged left edges as digits swap between narrow ("1") and wide ("0", "8") glyphs. where tabular stays perfectly flush ~
032
Reposted by Artem Sapegin
VoidZero @voidzero.dev · 02/03/2026
✨ What's New in ViteLand: February 2026 Recap ◆ Oxfmt Beta: 100% Prettier conformance ◆ @vite.dev 8 includes devtools ◆ @vitest.dev 4.1 beta adds aroundEach/aroundAll hooks ◆ @rolldown.rs becomes 9.6% faster ◆ Oxlint now supports 59/61 ts-eslint rules ◆ NestJS migrates to Vitest ◆ and much more 👀
voidzero.dev
What’s New in ViteLand: February 2026 Recap
Our February 2026 recap features Oxfmt Beta with 100% Prettier compatibility and 36x faster performance, Vite 8 devtools, Vitest async leak detection, and Rolldown performance gains.
0568
Reposted by Artem Sapegin
Soren @sorenblank.com · 02/03/2026
`tabular-nums` should be the default for any number that updates ( timers, counters, prices, percentages, scores, live data etc ). you can enable this tnum OpenType feature using the CSS property `font-variant-numeric`. .tabular-nums { font-variant-numeric: tabular-nums; }
0124
Reposted by Artem Sapegin
Patrick Brosset @patrickbrosset.com · 26/02/2026
❌ Instead of: if (map.has(key)) { return map.get(key); } map.set(key, value); return value; ✅ Write: return map.getOrInsert(key, value); This now works in all browsers!
web-platform-dx.github.io
Web platform features explorer - Map getOrInsert()
2457
Reposted by Artem Sapegin
Stef Walter @stephaniewalter.bsky.social · 23/02/2026
Also, I've prepared a talk to help designers, who are tired of having accessibility pushed later, or ignored. February 25, 9am ET (3pm CET) I'll open the design track at #axecon with my talk "How to Convince People to Care and Invest in Accessibility" : www.deque.com/axe-con/sess...
Introduction slide to the talk How to Convince People to Care and Invest in Accessibility by Stéphanie Walter at axe-con 2026, with an illustration of a woman smiling and watering yellow-leafed plants, one of which is in a pot marked with the universal accessibility symbol. Yellow flowers and purple leaves surround her.
2158
Reposted by Artem Sapegin
Stef Walter @stephaniewalter.bsky.social · 23/02/2026
Little reminder that axe-con, organised by @deque.com is this week!! It's a free online, two days (February 24 25) event, with a very nice line up of talks about accessibility and inclusive design. Want to learn about accessibility? Register, check them live, or catch the replays! #Accessibility
deque.com
axe-con Digital Accessibility Conference | Deque
Join us to learn how to build, test, monitor, and maintain digital accessibility. Hosted on February 24-25, 2026, axe-con is completely free and virtual.
11413
Artem Sapegin @sapegin.me · 21/02/2026
I've been experimenting with local LLM models for coding 🤦🏻‍♂️
Local Llama 3.1 8B model is answering "How do I center an element using CSS Flexbox?" prompt by writing a bunch of JavaScript code.
120
Artem Sapegin @sapegin.me · 19/02/2026
I do agree with this part: > So when more and more people tell me they no longer know what code is in their own codebase, I feel like something is very wrong here and it’s time to reflect.
000
Reposted by Artem Sapegin
Stef Walter @stephaniewalter.bsky.social · 18/02/2026
Dear developers, Please respect the reduced-motion preferences of your users. I'm tired of your websites making me nauseous. Motion is fun until it makes your users sick. Here you go: developer.mozilla.org/en-US/docs/W...
developer.mozilla.org
prefers-reduced-motion - CSS | MDN
The prefers-reduced-motion CSS media feature is used to detect if a user has enabled a setting on their device to minimize the amount of non-essential motion. The setting is used to convey to the browser on the device that the user prefers an interface that removes, reduces, or replaces motion-based animations.
48726
Reposted by Artem Sapegin
Stef Walter @stephaniewalter.bsky.social · 17/02/2026
Accessibility tip of the day: a tool that claims to generate AI alt text, but starts the alt text with "the image is", is not a tool you should use. Why? Because screen readers already announce images, so adding "image of" is annoying and useless.
An example of an image used to supplement other information. The image is a dog, the alt reads Off-duty guide dogs often wear a bell. Its ring helps the blind owner keep track of the dog’s location. The code for this alternative text is available with that example.
12411
Reposted by Artem Sapegin
🐴 Alex Trost @trost.codes · 16/02/2026
Meanwhile another LLM agent was flying under the radar and had a bunch of its work merged in. socket.dev/blog/ai-agen...
socket.dev
AI Agent Lands PRs in Major OSS Projects, Targets Maintainer...
An AI agent is merging PRs into major OSS projects and cold-emailing maintainers to drum up more work.
191
Reposted by Artem Sapegin
kepano @stephango.com · 10/02/2026
Obsidian uses local files, so all your standard terminal commands work for editing/moving/searching/etc Obsidian CLI adds everything else: - interacting with the UI - internal functions e.g. base queries, orphans, etc - devtools, console, screenshots, eval, etc See the CLI docs!
mas.to
Obsidian (@obsidian@mas.to)
Attached: 1 image Anything you can do in Obsidian you can do from the command line. #Obsidian CLI is now available with 1.12 (early access).
311513
Reposted by Artem Sapegin
Vadim Makeev @pepelsbey.dev · 11/02/2026
For almost 10 years we published daily web platform news in Russian. I always wanted to do the same in English, and five months ago I started. Yesterday I hit the 100th news on @web-standards.dev 🎉 Here’s a story behind the project. Of course, built with @11ty.dev 😎 pepelsbey.dev/articles/web...
Article cover with “Project” and “News” tags and the title “Web Standards. Daily web platform news.”
0106
Reposted by Artem Sapegin
Stef Walter @stephaniewalter.bsky.social · 11/02/2026
Testing accessibility issues at components level is a good first step to make your product accessible. Hidde De Vries shares 5 quick tests you can run: - test component keyboard accessibility
zeroheight.com
5 accessibility checks to run on every component - zeroheight
Hidde de Vries explains how to test components for accessibility, from keyboard support to screen readers and zoom.
1105
Artem Sapegin @sapegin.me · 07/02/2026
I’ve started posting my photos again, this time on Substack — follow me if you’re there: substack.com/@sapegin
110
Artem Sapegin @sapegin.me · 03/02/2026
The effect of AI on my blog: from 900 clicks per month down to 200 in the last two years...
January Google Search performance: only 208 clicks
000
Reposted by Artem Sapegin
Polypane. Browser for web devs @polypane.app · 02/02/2026
Do you use Polypane to check for Accessibility? Jules Ernst maintains an overview of which WCAG SCs Polypane helps with, and he just updated it with all the latest features in Polypane. An invaluable resource, thanks Jules! www.200ok.nl/tips/polypan...
200ok.nl
Polypane and WCAG - 200 OK - Jules Ernst
Jules Ernst, onafhankelijk webadviseur
2112
Reposted by Artem Sapegin
Laura Kalbag @laurakalbag.com · 27/01/2026
My book, Accessibility For Everyone, is now free and online as a website. accessibilityforeveryone.site The book was first published by A Book Apart in 2017 but it holds up! It covers web accessibility for designers, developers, content folks, and really everyone who works in tech.
accessibilityforeveryone.site
Accessibility For Everyone by Laura Kalbag
Read the book online for free.
9310193
Artem Sapegin @sapegin.me · 28/01/2026
> This year in iOS 26, some UI elements use the HDR screen to make some elements and highlights brighter than 100% white. Ooooh, that's why it looks so bad and annoying... Even turned on Reduce white point doesn't help... willhbr.net/2025/10/20/l...
willhbr.net
Light Mode InFFFFFFlation — Will Richardson
Back in the day, light mode wasn’t called “light mode”. It was just the way that computers were, we didn’t really think about turning everything light or dark. Sure, some applications were often dark ...
100
Artem Sapegin @sapegin.me · 28/01/2026
It’s hard to justify Tahoe icons: tonsky.me/blog/tahoe-i...
tonsky.me
It’s hard to justify Tahoe icons
Looking at the first principles of icon design—and how Apple failed to apply all of them in macOS Tahoe
000
Artem Sapegin @sapegin.me · 28/01/2026
Or do whatever works for you. Arrow keys are good enough for this use case, and I can remember them. I have fzf installed for many years and hardly used it because it takes more mental effort and not worth it most of the time. mastodon.cloud/@mitchellh@h...
mastodon.cloud
Mitchell Hashimoto (@mitchellh@hachyderm.io)
Nobody should be using up arrows to get previous commands in a terminal or shell. You have to move your hand and its linear complexity in keystrokes. Use ctrl+p (for low n) or ctrl+r. Use a real shell...
000
Artem Sapegin @sapegin.me · 28/01/2026
I like the idea of autoclosing pull requests created using AI. Such pull requests are like prompting LLM using a slow and unreliable intermediary. They don’t provide any value, but take a lot of time and mental effort. www.linkedin.com/posts/steve-...
linkedin.com
tldraw Auto-Closes AI-Generated PRs Due to Code Quality Concerns | Steve Ruiz posted on the topic | LinkedIn
We’re auto-closing pull requests on the tldraw repo because of AI. Like many public GitHub projects, we've seen a surge in AI-generated PRs—code written with Claude Code, Cursor, and similar tools. ...
100
Reposted by Artem Sapegin
Stef Walter @stephaniewalter.bsky.social · 19/01/2026
Nikita Prokopov points out all the inconsistencies, in the icons of Tahoe, the new Mac operating system. The “fifty shades of new” made my day. If you can’t find a good metaphor, using no icon is better than using a bad, confusing, or nonsensical icon. tonsky.me/blog/tahoe-i...
Screenshot of the article, featuring a collage of macOS menu items showing multiple options labeled with the word New, including New Entry, New Journal, New Window, New Reminder, New List, etc. Below, a row of icons with different visual styles all represent the concept of New in the new macOS
25810
Reposted by Artem Sapegin
Stef Walter @stephaniewalter.bsky.social · 28/01/2026
I’m often asked for accessibility resources for beginners. @laurakalbag.bsky.social's book has been my go to. It’s clear, practical, and works for designers, developers, and anyone involved in building products. The best part: it’s now free and available online. Bookmark it. Read it. Share it!
accessibilityforeveryone.site
Accessibility For Everyone by Laura Kalbag
Read the book online for free.
1209
Reposted by Artem Sapegin
Stef Walter @stephaniewalter.bsky.social · 09/01/2026
I've seen a reel from a lady who said that, as an adult woman in her 30s, she's exhausted from trying to get diagnosed for autism/ ADHD and none takes her seriously. She now decided to not get diagnosed and to get treatment for the all her comorbidities instead. It's the sad truth. 😔
491
Artem Sapegin @sapegin.me · 09/01/2026
Good article on Temporal API — it looks very promising and solves many of the Date issues: piccalil.li/blog/date-is...
piccalil.li
Date is out, Temporal is in
Temporal is the Date system we always wanted in JavaScript. It's extremely close to being available so Mat Marquis thought it would be a good idea to explain exactly what is better about this new Java...
000
Reposted by Artem Sapegin
Stef Walter @stephaniewalter.bsky.social · 08/01/2026
Monthly reminder that, while there's no "one size fits all" perfect font for accessibility, you still want to avoid anything thin: it makes it very hard to read. Also, the smaller & thinner the font, the more important contrast is. Let users comfortably read your content! #Accessibility #Typography
162
Reposted by Artem Sapegin
Kilian Valkhof @kilianvalkhof.com · 08/01/2026
"it's an internal app so it doesn't need to be responsive" is something I hear so much. Just because you're forcing your employees to deal with it doesn't mean they don't suffer.
3202
Reposted by Artem Sapegin
Nik Lopin @niki.eurosky.social · 26/12/2025
Great article on logs from @boristane.bsky.social loggingsucks.com
loggingsucks.com
Logging Sucks - Your Logs Are Lying To You
Why traditional logging fails and how wide events can fix your observability
031
Reposted by Artem Sapegin
Priyanca a11y 🌈 @priyanca.bsky.social · 17/12/2025
Curious how many people have looked up "turn off Liquid Glass" I want to be able to quickly glance at the time, finding it harder to read. Who wants a see-through clock?
wired.com
How to (Mostly) Get Rid of Liquid Glass
Not everyone likes Apple’s springy, jiggly, see-through Liquid Glass interface. If you’re not a fan, tweaking these settings will make your iPhone, iPad, or Mac a lot less bubbly.
173
Reposted by Artem Sapegin
Kilian Valkhof @kilianvalkhof.com · 15/12/2025
Are we stuck with the same Desktop UX forever? This is a really interesting talk from a UX expert directed at programmers. Linux design is overly eager to throw the baby out with the bathwater. desktop UX regressed in the past 15 years Browser UX is stuck too. www.youtube.com/watch?v=1fZT...
youtube.com
Are we stuck with the same Desktop UX forever? | Ubuntu Summit 25.10
YouTube video by Canonical Ubuntu
2113
Artem Sapegin @sapegin.me · 05/12/2025
I feel this is the unfortunate trend in modern software, to bend users to the only correct way to use their software and punish those users who want or need some adjustments; and they refuse to accept that some user _do need_ accommodations.
000
Reposted by Artem Sapegin
Eric Bailey @ericwbailey.website · 04/12/2025
Apple could surprise remove Liquid Glass the same way it surprise added U2 to everyone's devices and I'd be first in line to call things even.
35110
Artem Sapegin @sapegin.me · 04/12/2025
I really wanted to like Cursor, but I just can’t. The UX always felt like a vibe-coded version of Visual Studio Code, but with two recent updates it became unusable for me...
110
Artem Sapegin @sapegin.me · 04/12/2025
@polypane.app Could you please add an option to hide the project selector? It's way too much in my face now ;-/ Also, I think it should have a light header to match the system light theme. Now it's too much contrast for a part of the UI that should stay in the background.
100
Reposted by Artem Sapegin
VoidZero @voidzero.dev · 01/12/2025
Announcing Oxfmt Alpha! 🚀 We’re excited to announce the alpha release of Oxfmt, our Rust-powered formatter. We designed Oxfmt to be easily adoptable, especially for existing Prettier users More below and in our announcement post voidzero.dev/posts/announ...
voidzero.dev
Announcing Oxfmt Alpha
Oxfmt is a fast Rust-based formatter that is available now in alpha stage and supports JavaScript and TypeScript files. It is 30x faster than Prettier while having >95% compatibility.
313819
Reposted by Artem Sapegin
Stef Walter @stephaniewalter.bsky.social · 25/11/2025
Okay, this is fun, and brings me back to some neumorphism nostalgia: a fun color palette generator, that lets you play with different color spaces, and build different palettes type colorpalette.pro/?color=lab%2...
Screenshot of a color palette tool showing a palette called Lightning Bug with color sliders, LAB values, color grid, and palette type controls like complementary and triadic, in some old school neumorphic  gray buttons style
2408
Reposted by Artem Sapegin
Polypane. Browser for web devs @polypane.app · 25/11/2025
The Polypane Black Friday sale is live! 🏷️ Get *22% off* on yearly plans. Whether you're a freelancer or leading a frontend team, Polypane pays for itself by saving you hours of responsive design work every month. Grab the deal before it’s gone 👉 polypane.app/black-friday/
polypane.app
Polypane Black Friday | Polypane
Get the browser for devs who care for 22% during our Black Friday sale. Available until December 1st.
063
Artem Sapegin @sapegin.me · 24/11/2025
Get my book on clean code for frontenders with 50% off until the end of this week (also, a retweet/share will make me very happy): sapegin.me/book/
Washing your code book cover
000
Reposted by Artem Sapegin
Obsidian @obsidian.md · 22/11/2025
You can now convert your Notion pages and databases to durable, private, local files. Your data, offline, forever, for free.
927645