simplygoodwork.bsky.social
@simplygoodwork.bsky.social
When we put multiple feature branches live at once.
December 23, 2025 at 4:04 AM
Obs.js uses browser APIs to evaluate connection, battery, and performance. It applies root CSS classes giving you easy hooks to optimize content delivery by adjusting image resolution, omitting web fonts, or disabling autoplay videos. csswizardry.com/Obs.js/demo/
Obs.js – context-aware web performance for everyone
Obs.js reads device and network signals and allows you to build adaptive user experiences.
csswizardry.com
December 19, 2025 at 8:02 PM
There's a JavaScript API to check if a person is actually interacting with your site. The UserActivation API is pretty handy for preventing autoplay abuse and other shenanigans.

developer.mozilla.org/en-US/docs/...
UserActivation - Web APIs | MDN
The UserActivation interface provides information about whether a user is currently interacting with the page, or has completed an interaction since page load.
developer.mozilla.org
December 17, 2025 at 8:03 PM
Josh W. Comeau simplifies complex CSS topics effortlessly. In just 10 minutes, you'll grasp CSS subgrid with his clear, jargon-free explanations and practical examples. www.joshwcomeau.com/css/subgrid/
Brand New Layouts with CSS Subgrid • Josh W. Comeau
Subgrid allows us to extend a grid template down through the DOM tree, so that deeply-nested elements can participate in the same grid layout. At first glance, I thought this would be a helpful convenience, but it turns out that it’s so much more. Subgrid unlocks exciting new layout possibilities, stuff we couldn’t do until now. ✨
www.joshwcomeau.com
December 16, 2025 at 4:02 AM
There's a whole world beyond console.log in Chrome DevTools and this post covers it well. Restart frame is a game changer when you miss something stepping through code, and the watch pane beats typing the same expression in the console over and over.

www.debugbear.com/blog/chrome...
How To Debug JavaScript In Chrome DevTools | DebugBear
Learn how to set pause execution, inspect application state, and discover advanced breakpoint functionality.
www.debugbear.com
December 12, 2025 at 8:00 PM
Jeremy developed a sleek web component for the Web Install API. It invites users to install your site as an app and cleverly self-destructs if the browser isn't compatible.

adactio.com/journal/22278
Installing web apps
Here’s an HTML web component you can use if you’re participating in the origin trial for the Web Install API.
adactio.com
December 10, 2025 at 8:04 PM
New Craft CMS plugin by yours truly.

Curses! is a lightweight profanity filter that allows you to moderate user-generated content, comments, or any text field with simple Twig filters.

plugins.craftcms.com/curses
Curses!
A lightweight, developer-focused profanity filter for Craft CMS
plugins.craftcms.com
December 5, 2025 at 8:09 PM
The tech debt lessons here are wild. This wasn't broken code or bad architecture it was a pattern that worked great for 16 years,then suddenly didn't.

You can't predict when old decisions change, only respond when they do.. techblog.wikimedia.org/2025/11/21/...
December 3, 2025 at 4:02 PM
Ever press a button and wonder if it worked?

GitHub ditched toast notifications due to accessibility and usability issues and they've kindly released a guide on alternatives like banners and dialogs.

primer.style/accessibili...
Toasts
GitHub no longer uses toasts because of their accessibility and usability issues.
primer.style
December 2, 2025 at 7:57 PM
Can't wait for the first issue of DOCTYPE magazine vole.wtf/doctype/
DOCTYPE magazine 🚀⌨️
’80s BASIC type-in mags are back, but this time for HTML!
vole.wtf
December 2, 2025 at 3:57 PM
Obviously our code never has errors but if it did we'd be using the cause property allthingssmitty.com/2025/11/10/...
Error chaining in JavaScript: cleaner debugging with Error.cause - Matt Smith
Use JavaScript's 'cause' property to chain errors, preserve context, and simplify debugging. Cleaner stack traces, better test assertions.
allthingssmitty.com
December 1, 2025 at 3:59 PM
Five-year-old Sebastian can recreate any font by hand. Any. Font. His dad noticed the talent at 18 months; we can barely pick a font from a dropdown menu. www.youtube.com/watch?v=mJ9...
5-year-old recreates fonts in handwriting
5-year-old Sebastian has a unique talent – being able to recreate fonts in writing. His dad says he hyperlexia, or advanced reading skills, and they noticed ...
www.youtube.com
November 28, 2025 at 8:03 PM
One thing we've been doing lately that's been surprisingly useful: feeding apache/php log files into an LLM and having it spot potential issues. Way easier than manually combing through pages of logs ourselves.
November 28, 2025 at 3:57 PM
Turns out you can make a coffee cup from spent coffee grounds. Full circle moment www.youtube.com/watch?v=lgc...
Drinking coffee from a cup made of coffee
If you want to support this project: patreon.com/Giestas 00:00 one year of coffee00:46 homemade coffee bioplastic01:17 making a coffee cup 02:51 drinking fro...
www.youtube.com
November 27, 2025 at 8:03 PM
We all recognize the importance of good URLs, seeing it documented so clearly here is a good reminder. URLs are UI alfy.blog/2025/10/31/...
Your URL Is Your State
A deep dive into how thoughtful URL design can enhance usability, shareability, and performance. Learn what state belongs in URLs, common pitfalls to avoid, and practical patterns for modern web apps.
alfy.blog
November 27, 2025 at 3:56 PM
AI is great and all but making a clock with one is still hard. clocks.brianmoore.com/
AI World Clocks
The current time as rendered by 9 different AI models. By Brian Moore.
clocks.brianmoore.com
November 25, 2025 at 8:03 PM
Is this a game or real life? scope-creep.xyz/
The Scope Creep
A chilling tale of deliverables, deadlines and doomed decisions
scope-creep.xyz
November 25, 2025 at 3:59 PM
Y'all remember Xiao Xiao? Steve Jobs might've hated Flash but the little stickman fights were amazing. Some great internet history written up here animationobsessive.substack.com/p/when-stic...
November 24, 2025 at 8:02 PM
Today we learned that CSS has localized quotes built in
cssence.com/2025/no-clo...
No close quote?
There are multiple ways to do ornamental quotation marks.
cssence.com
November 24, 2025 at 3:58 PM
Big respect for Resend's approach to confirming deletion here. Typically users are blocked from copy-pasting names or slugs; but Resend kindly provides us with a copy to clipboard button. Absolutely love to see it.
November 21, 2025 at 7:59 PM
Ollie Williams shares a great example of custom invoker commands at olliewilliams.xyz/blog/guide-... such a neat and tidy way handle these interactions if you're not using a framework.
A complete guide to the HTML number input
Styling, UX, validation
olliewilliams.xyz
November 21, 2025 at 3:56 PM
We put out a few Backbone sites in our early days, it wasn't so bad. backbonenotbad.hyperclay.com/
React vs Backbone in 2025
A comparison between a React and Backbone password strength app
backbonenotbad.hyperclay.com
November 20, 2025 at 6:00 PM