aboard-io/tinylittleoffice: A free office suite where your document is inside the link and easy to share. There's no account and nothing saved unless you choose.
https://github.com/aboard-io/tinylittleoffice
A free office suite where your document is inside the link and easy to share. There's no account and nothing saved unless you choose.
Do web components have a future if nobody is writing them? | Read the Tea Leaves
https://nolanlawson.com/2026/10/19/do-web-components-have-a-future-if-nobody-is-writing-them/
So whatever happens to web components in the future, and regardless of whether web developers ignore them, forget them, celebrate their demise, or write them off entirely, nothing can take this victory away from them. They are woven into the texture of the web platform in a way that can never be undone. For me, this makes me happy even if I never write another web component again.
Why don’t more developers “use the platform”? | Read the Tea Leaves
https://nolanlawson.com/2026/10/03/why-dont-more-developers-use-the-platform/
The argument is simple: why build something yourself, in JavaScript, when the browser can do it for you? Whatever you build, it’s likely to have poorer performance and worse usability than something the browser could just give you out-of-the-box.
OpenSeadragon
https://openseadragon.github.io/
An open-source, web-based viewer for high-resolution zoomable images, implemented in pure JavaScript, for desktop and mobile.
Antiquated HTML Snippets and Artefacts | Vale.Rocks
https://vale.rocks/posts/html-relics
This article doesn’t cover once-specced but now obsolete bits of HTML but instead looks at all the snippets that have wormed their way into websites as result of, or in combat against, third-party integrations, browser competition, vendor extensions, and platform-specific hacks. The bits of HTML that were included for reasons, and which have been forgotten for present irrelevance. The snippets that live on only in the markup of sites from bygone eras and in the minds of those who fought during the browser wars.
Pure CSS halftone patterns: dots, lines, circles
https://codepen.io/editor/MackFitz/pen/01a056f3-9af6-7f1b-a031-e52a5d38813d
A project overdue. As an 80's/90's kid, I was obsessed with printing technology - and especially halftone patterns. I've long theorized that these pat
The asteroid currently hitting frontend web development | Read the Tea Leaves
https://nolanlawson.com/2026/08/23/the-asteroid-currently-hitting-frontend-web-development/
Meanwhile, Cursor and Viget have blogged about migrating their codebases from Solid and Lit, respectively, to React. Since rewrites are less expensive with agents, this may be a bit surprising: why not move to the more performant/less verbose framework? The answer (explicitly in Cursor’s case, and I suspect for Viget as well) is of course: “the agents know React.” For better or worse, React is heavily overrepresented in the training weights, and “agent experience” is starting to matter more than developer experience.
daijro/camoufox: 🦊 Anti-detect browser
https://github.com/daijro/camoufox
Camoufox is an open source anti-detect browser built for webscraping & AI agents.
Introducing Kitesurf: The agent-first browser that runs in V8 isolates on Cloudflare Workers | Cloudflare Blog
https://blog.cloudflare.com/kitesurf/
Kitesurf is significantly more efficient in CPU and memory consumption than Chromium for common agentic tasks like screenshots and HTML extraction. What follows is the story of how we built it. Buckle up, it’s going to get technical — but we promise to keep it interesting.
h4ckf0r0day/obscura: The headless browser for AI agents and web scraping
https://github.com/h4ckf0r0day/obscura
The headless browser for AI agents and web scraping
How I make my blog posts more resilient | Michael Harley
https://michaelharley.net/posts/2026/08/05/how-i-make-my-blog-posts-more-resilient/
In short, the parts of my old archived posts that survived 14 years were the ones I owned and kept simple; the parts that broke were the ones I outsourced to someone else's server.
Softcore First, Hardcore Eventually: A Ladder for the IndieWeb · brennan.day
https://brennan.day/softcore-first-hardcore-eventually-a-ladder-for-the-indieweb/
"Hardcore" and "easy" IndieWeb aren't two camps you have to pick a side of. No, there are rungs on the ladder, and most people need to climb it, rather than getting dropped on whichever rung feels most ideologically pure and getting told to figure out the rest.
mutativejs/travels: A fast, framework-agnostic undo/redo core powered by Mutative JSON Patch
https://github.com/mutativejs/travels
A fast, framework-agnostic undo/redo core powered by Mutative JSON Patch
Jelly UI — Soft Web Components
https://jelly-ui.com/
Jelly UI is a dependency-free Web Components library for soft, tactile product interfaces. Real form controls meet soft-body physics, with dark mode, right-to-left support and WCAG AA color tokens built in.
Firefox in WebAssembly
https://developer.puter.com/labs/firefox-wasm/
he Gecko engine compiled to WebAssembly.
The real Firefox interface, rendering entirely inside this browser tab.
HeyPuter/firefox-wasm: 🦊 Firefox in WebAssembly
https://github.com/HeyPuter/firefox-wasm
🦊 Firefox in WebAssembly
Playwright on GitHub Actions: The setup that actually runs fast
https://endform.dev/blog/playwright-github-actions
This piece walks through that setup end to end. By the end you will know where your time is going, have a workflow that gives useful feedback on every PR, and know the point at which sharding actually becomes worth it.
Today I Rescued 7,234 Old GIFs – Dan Q
https://danq.me/2026/07/10/rescuing-7234-gifs/
I’ve talked about imagemaps before, but the essence of them is that you define areas of an image that, when clicked, hyperlink to different places. The most-common way of doing these was always client-side imagemaps, where the HTML code itself contained all of the coordinates and, crucially, the resulting destinations. But that’s not what kind of imagemap this is.
Memories Can’t Wait—or, How I Learned to Keep Worrying About the Web - Jeffrey Zeldman Presents
https://zeldman.com/2026/07/06/memories-cant-wait-or-how-i-learned-to-keep-worrying-about-the-web/
The web is still the best hope we have for a durable, shared memory. But it requires us to be gardeners, not just tenants. To plant things in soil we control, and to tend them. Because if we don’t, the only record that we were here will be someone else’s ad inventory, and when the ads move on, we’ll move with them—into the quiet, unmarked graveyard of the deleted.
Be a Gardener, not a Tenant - Lireo Designs
https://www.lireo.com/be-a-gardener-not-a-tenant/
Cloud services are not forever.
jberg/butterchurn-presets: Presets for Butterchurn Visualizer, converted from Milkdrop presets
https://github.com/jberg/butterchurn-presets
Presets for Butterchurn Visualizer, converted from Milkdrop presets
Introducing the Safari MCP server for web developers | WebKit
https://webkit.org/blog/18136/introducing-the-safari-mcp-server-for-web-developers/
In Safari Technology Preview 247, we’re introducing the Safari MCP server — a Model Context Protocol server for web developers that makes your web development and debugging workflow faster and more powerful. We know agents are increasingly integral to the coding process and the Safari MCP server gives your agent the ability to know how your code actually renders in the browser by connecting it to a Safari browser window.
Hate “The Algorithm?” RSS Is One of the Tools You’ve Been Looking For | Electronic Frontier Foundation
https://www.eff.org/deeplinks/2026/06/hate-algorithm-rss-one-tools-youve-been-looking
RSS is one of the best examples we have of the open web, where we can design and customize how we experience the internet, not the other way around. RSS has come in and out of fashion, been declared dead, and has come back, every time. Open systems are the best way forward to a free, equitable internet, and the resilience and continued reinvention of RSS has shown just how creative the web community can be with open protocols.
sneakerweb
https://sneakerweb.org/
The sneakerweb CLI lets you browse and maintain a local collection of sneakerwebsites. You can export your collection to a .snk file, you can import .snk files into your collection, and you can create new websites.
readtedium/WIT: A recreation and modest modernization of WIT (W3 Interactive Talk), the original web forum, dating to June of 1994.
https://github.com/readtedium/WIT
A recreation and modest modernization of WIT (W3 Interactive Talk), the original web forum, dating to June of 1994.
The Descent — What Happened to the Frontend While You Weren't Watching
https://davidpoblador.com/deep-dives/the-descent/
Two decades, forty-four meters of build tools, and one very confused <button> later, here's the whole story. Spare twenty minutes; I'll get you up to speed.
Garbage for humans | unstory
https://unstory.eu/zye/
You get HTML, trackers, cookie banners, popups, and JavaScript. This needs a browser built by thousands of engineers just to show you a paragraph.
Machines get the clean version.
Building Ask Ricmac: my first experiment in the agentic web stack - Richard MacManus
https://ricmac.org/2026/03/06/building-ask-ricmac-my-first-experiment-in-the-agentic-web-stack/
Over the past few months I’ve been exploring what I think of as the agentic web stack — the emerging intersection of artificial intelligence with the open web. As part of that exploration, I built a small experiment for my personal website: an AI chatbot called Ask Ricmac. Its purpose is simple: instead of searching my site manually, a visitor can ask a question and receive an AI-generated answer based on the articles I’ve written over the years.
JSON-LD Explained for Personal Websites | Ethan Hawksley
https://hawksley.dev/blog/json-ld-explained-for-personal-websites/
JSON-LD, also known as JSON Linked Data, is a format for adding structured data to webpages. It can aid web crawlers in understanding the semantic structure of your site, qualifying you for richer link previews, and even potentially improving your search ranking.
argyleink/prop-for-that: what JS knows, now CSS knows
https://github.com/argyleink/prop-for-that
Sliders, pointer position, element visibility, viewport size, battery, network, sensors — JavaScript can read all of it; CSS can't. prop-for-that writes that runtime state into --live-* and --const-* custom properties — batched and diffed down to one setProperty per frame — so your CSS can compose and react to it with plain calc() and var().
The Website Specification
https://specification.website/?ref=sidebar
A platform-agnostic specification of the technical features every decent website should have — from <title> to /.well-known/security.txt, from WCAG contrast to llms.txt. Written for humans and agents.
Rivalis — Open-source real-time framework for Node.js
https://rivalis.dev/?utm_source=gamedevjsweekly&utm_medium=email
Build real-time multiplayer for Phaser, PixiJS, Three.js, or any browser game. Open-source Node.js framework — rooms, actors, typed binary protocol. Free for commercial use, forever.
How building an HTML-first site doubled our users overnight
https://mohkohn.co.uk/writing/html-first/
It is not acceptable to bounce users on old browsers, users with bad network connections, users using assistive technologies. Certainly not from a monopoly public service. A lot of hype and noise is pressing us to extend the cowboy, wild-west phase of the software industry’s expansion. We should set that aside, and take ourselves seriously as a mature industry. Build a web application that works on a playstation portable on a 3G connection - if you do, it will work for all your users, and it will still work 30 years from now.
MikeSchirtzinger/silent-notetaker: Private, on-device AI meeting notetaker that runs entirely in your browser — live transcription, speaker ID, and note extraction with no audio leaving your machine (WebGPU + WASM).
https://github.com/MikeSchirtzinger/silent-notetaker?utm_campaign=ai-tinkerers-columbus-june-meetup&utm_content=link1&utm_medium=ai-tinkerers&utm_source=columbus
Private, on-device AI meeting notetaker that runs entirely in your browser — live transcription, speaker ID, and note extraction with no audio leaving your machine (WebGPU + WASM).
reg-viz/storycap: A Storybook Addon, Save the screenshot image of your stories via puppeteer.
https://github.com/reg-viz/storycap
A Storybook Addon, Save the screenshot image of your stories 📷 via puppeteer.
Obs.js – context-aware web performance for everyone
https://csswizardry.com/Obs.js/demo/
Obs.js reads a handful of browser signals (Navigator and Battery APIs) to infer connection strength, battery status, and device capability. It exposes those signals as CSS classes on the <html> element, and as properties on window.obs, so you can adapt delivery accordingly: serve lower-resolution media, forgo web fonts, disable auto-playing video… you name it.
performative-ui | AI-native React Components
https://vorpus.github.io/performativeUI/
AI-native React components for AI startup
Components that signal how oversubscribed your funding round is.
Ask HN: Is the web for machines (/llm.txt) the one we wished we had as humans? | Hacker News
https://news.ycombinator.com/item?id=48410589
We broke the web so badly for humans that we had to build a clean web for machines, and now humans will have to use machines to experience a clean web again.
Save For Web claws – Unsung
https://unsung.aresluna.org/save-for-web-claws/
For context, Save For Web was a popular export function in Photoshop at the peak of its use for web design, but assigned a rather unpleasant ⌘⌥⇧S shortcut. Using it often turned your hand into a… claw of sorts.
The Boring Internet (text) | Terry Godier
https://www.terrygodier.com/the-boring-internet/ascii
Some things need to become enormous to survive. Other things survive because they never needed to become enormous.
HyperFrames — Edit Videos By Vibe-Coding
https://hyperframes.heygen.com/
HyperFrames lets AI agents compose videos by writing HTML, CSS & JS.
RSS Feeds Send Me More Traffic Than Google – Terence Eden’s Blog
https://shkspr.mobi/blog/2026/05/rss-feeds-send-me-more-traffic-than-google/
about 25% of my traffic comes from people who have chosen to subscribe.
LinuxOnTab — Real Linux in your browser. No install, no server, no Docker.
https://linuxontab.com/
LinuxOnTab boots a real x86 Linux kernel and Alpine userland inside your browser using WebAssembly and the v86 emulator. A zero-install, local-first, in-browser Linux terminal — a lightweight Docker alternative for instant sandboxes, teaching, demos, and disposable shells.
Sourcefeed
https://www.sourcefeed.app/why
Some writing wants to be a website. Some wants to be a newsletter. Some wants to be a feed.
Sourcefeed is for the third kind. RSS-only. No website, no inbox, no algorithm. Subscribers read it where they choose, in whatever reader they already trust.
Elena | Progressive Web Components
https://elenajs.com/
Elena is a simple, tiny library for building Progressive Web Components. Unlike most web component libraries, Elena doesn’t force JavaScript for everything. You can load HTML and CSS first, then use JavaScript to progressively add interactivity.
Progressive Web Components | Ariel Salminen
https://arielsalminen.com/2026/progressive-web-components/
A Progressive Web Component is a native Custom Element designed in two layers: a base layer of HTML and CSS that renders immediately, without JavaScript, and an enhancement layer of JavaScript that adds reactivity, event handling, and more advanced templating.
brexhq/CrabTrap: An LLM-as-a-judge HTTP proxy to secure agents in production
https://github.com/brexhq/CrabTrap
An LLM-as-a-judge HTTP proxy to secure agents in production
mmontag/chip-player-js: Web-based music player for a variety of video game and chiptune music formats.
https://github.com/mmontag/chip-player-js
Web-based music player for a variety of video game and chiptune music formats.
<script type="importmap"> HTML attribute value - HTML | MDN
https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/script/type/importmap
An import map is a JSON object that allows developers to control how the browser resolves module specifiers when importing JavaScript modules. It provides a mapping between the text used as the module specifier in an import statement or import() operator, and the corresponding value that will replace the text when resolving the specifier. The JSON object must conform to the Import map JSON representation format.
Headless everything for personal AI (Interconnected)
https://interconnected.org/home/2026/04/18/headless
It’s pretty clear that apps and services are all going to have to go headless: that is, they will have to provide access and tools for personal AI agents without any of the visual UI that us humans use today.
WebMCP
https://webmcp.dev/
WebMCP is an open source JavaScript library that allows any website to integrate with the Model Context Protocol. It provides a small blue widget in the bottom right corner of your page that allows users to connect to and interact with your webpage via LLM or agent.
Under the hood of MDN's new frontend
https://developer.mozilla.org/en-US/blog/mdn-front-end-deep-dive/
Last year, we launched a new frontend for MDN. The most noticeable changes were adjustments to our styles; we simplified and unified the MDN design across all of our pages. In truth, the biggest changes were not reader-visible, but rather in the overhauled code that powers our frontend. This post describes what we've done, the technologies we chose, and why we did it at all.
AI Might Be Our Best Shot At Taking Back The Open Web | Techdirt
https://www.techdirt.com/2026/03/25/ai-might-be-our-best-shot-at-taking-back-the-open-web/
The promise of the open web was colonized by internet giants. But the power of LLMs and agentic coding means we can start to take it back. We can build customized, personal software for ourselves that does what we want. We can connect with communities via open social protocols that allow us to control the relationship rather than a billionaire intermediary. This is what the Resonant Computing Manifesto was all about, and why I’ve argued ATproto is so key to that vision.
Password Protecting Static Site Content with WASM
https://al9000.com/rust/wasm/static-site-file-decryption/
I use static site generators for my sites. I call out to external APIs to do anything dynamic. The exception is password protection. I'd always thought that needed to be done dynamically on a site's host server. I realized with WASM that's not the case. Files can be encrypted and served statically with a WASM process providing decryption directly on the front end.
Penpot: The Design platform for Design & Code Collaboration
https://penpot.app/
Penpot is the web-based open-source design platform that bridges
the gap between designers and developers.
Fully Local Code Embeds | Aleksandr Hovhannisyan
https://www.aleksandrhovhannisyan.com/blog/local-code-embeds/
A few years ago, I was looking for a way to add interactive code sandboxes to my Markdown files without embedding third-party iframes, like the ones from Codepen or Codesandbox. Those services are great and I use them all the time to share demos, but I’ve never been a fan of using them on a blog since you have to jump back and forth between your local Markdown file and an external site to make changes to the demos. Plus, they typically load lots of JavaScript.
The 49MB Web Page | thatshubham
https://thatshubham.com/blog/news-audit
They built a system that treats your attention as an extractable resource. The most radical thing you can do is refuse to be extracted. Close the tab. Use RSS. Let the bounce rate speak for itself. These are vanity metrics until enough people stop vanishing into them and then suddenly they become a crisis.
Build your retro library - 8bitcn/ui
https://www.8bitcn.com/
A set of 8-bit styled components and a code distribution platform. Works with your favorite frameworks. Open Source. Open Code.
FAQ | TinyBase
https://tinybase.org/guides/faq/
TinyBase is well suited for JavaScript applications where you need to manage structured data, such as those that have multiple 'records' to represent many of one type of object that might share fields. For example, in a Todo app, you can imagine using a Row in a Table for each todo. TinyBase makes it easy to set, get, respond to, and enumerate over this data and build user interfaces with it.
CBOR-LD 1.0
https://w3c.github.io/cbor-ld/
CBOR is a compact binary data serialization and messaging format. This specification defines CBOR-LD 1.0, a CBOR-based format to serialize Linked Data. The encoding is designed to leverage the existing JSON-LD ecosystem, which is deployed on hundreds of millions of systems today, to provide a compact serialization format for those seeking efficient encoding schemes for Linked Data. By utilizing semantic compression schemes, compression ratios in excess of 60% better than generalized compression schemes are possible. This format is primarily intended to be a way to use Linked Data in storage and bandwidth constrained programming environments, to build interoperable semantic wire-level protocols, and to efficiently store Linked Data in CBOR-based storage engines.
theredsix/agent-browser-protocol: Browsers are async. Agents are synchronous. ABP turns continuous browsing into discrete, atomic steps—so LLMs can reason about the web without racing against it.
https://github.com/theredsix/agent-browser-protocol
ABP is a Chromium build with MCP + REST baked directly into the browser engine.
Temporal: The 9-Year Journey to Fix Time in JavaScript | Bloomberg JS Blog
https://bloomberg.github.io/js-blog/post/temporal/
Temporal is not just a better API. It's proof that the JavaScript community can solve long-standing problems together.
After nearly 30 years, JavaScript finally has a modern datetime API.
Pluralistic: The web is bearable with RSS (07 Mar 2026) – Pluralistic: Daily links from Cory Doctorow
https://pluralistic.net/2026/03/07/reader-mode/
It's almost impossible to overstate how superior RSS is to the median web page. Imagine if the newsletters you followed were rendered with black, clear type on a plain white background (rather than the sadistically infinitesimal, greyed-out type that designers favor thanks to the unkillable urban legend that black type on a white screen causes eye-strain). Imagine reading the web without popups, without ads, without nag screens. Imagine reading the web without interruptors or "keep reading" links.
KeygraphHQ/shannon: Fully autonomous AI hacker to find actual exploits in your web apps. Shannon has achieved a 96.15% success rate on the hint-free, source-aware XBOW Benchmark.
https://github.com/KeygraphHQ/shannon
Fully autonomous AI hacker to find actual exploits in your web apps. Shannon has achieved a 96.15% success rate on the hint-free, source-aware XBOW Benchmark.
Introduction - Neobrutalism components
https://www.neobrutalism.dev/docs
Neobrutalism is a mix of regular brutalism in web design and more modern typography, illustration, and animation standards. Neobrutalism refuses the usual components of UX-UI design and embraces uncomfortable design elements, and it is more fearless to use distinctive color palettes.
The Great Markdown Rebranding Of 2026
https://tedium.co/2026/02/17/markdown-growing-influence-cloudflare-ai/
So, here’s something that I didn’t expect to be saying in 2026: There seems to be a nonzero chance that Markdown might become the new RSS.
Current | Terry Godier
https://www.terrygodier.com/current
Velocity is what makes the river work. Every source in Current has a half-life that you set: how long its articles stay visible before fading out.
Introducing Markdown for Agents
https://blog.cloudflare.com/markdown-for-agents/
Here’s how it works. To fetch the markdown version of any page from a zone with Markdown for Agents enabled, the client needs to add the Accept negotiation header with text/markdown as one of the options. Cloudflare will detect this, fetch the original HTML version from the origin, and convert it to markdown before serving it to the client.
Virtual Scrolling for Billions of Rows — Techniques from HighTable
https://rednegra.net/blog/20260212-virtual-scroll/
TL;DR: In this post, I present five techniques related to vertical scrolling used in <HighTable>, a React component that can display billions of rows in a table while keeping good performance and accessibility.
2010930 - Initial commit of WebSerial code
https://bugzilla.mozilla.org/show_bug.cgi?id=2010930
This should have all basic WebSerial functionality. This will be behind a pref dom.webserial.enabled.
Power Prompts in Claude Code ・ Hardik Pandya
https://hvpandya.com/power-prompts?ref=sidebar
The thing that surprised me most is that Claude Code doesn’t need you to be precise. You can describe what you want the way you’d explain it to a colleague, and it figures out how to make it happen.
gradient.horse
https://gradient.horse/
Honestly I just wanted to play around with gradients. But gradients without anything on the horizon lack something, so I added horses. Since I can't draw horses, now you can draw them. And watch them parade across the screen alongside horses drawn by people you probably wouldn't like. Or maybe you would, how should I know?!
Server-Sent Events Beat WebSockets for 95% of Real-Time Apps (Here's Why) - DEV Community
https://dev.to/polliog/server-sent-events-beat-websockets-for-95-of-real-time-apps-heres-why-a4l?context=digest
Everyone defaults to WebSockets for real-time features. Most shouldn't.
The reality: 95% of "real-time" applications only need server → client updates. Chat notifications. Live dashboards. Stock tickers. Log streams. AI responses.
WebSockets give you bidirectional communication. But bidirectional comes with a tax: complexity, resource overhead, scaling challenges, debugging nightmares.
Server-Sent Events (SSE) do one thing: stream data from server to client. They do it brilliantly. And for most applications, that's all you need.
letientai299/md2cb: Convert Markdown to rich HTML clipboard content
https://github.com/letientai299/md2cb
Convert Markdown to rich HTML clipboard content
Kroki!
https://kroki.io/
Kroki provides a unified API with support for BlockDiag (BlockDiag, SeqDiag, ActDiag, NwDiag, PacketDiag, RackDiag), BPMN, Bytefield, C4 (with PlantUML), D2, DBML, Ditaa, Erd, Excalidraw, GraphViz, Mermaid, Nomnoml, Pikchr, PlantUML, Structurizr, SvgBob, Symbolator, TikZ, UMLet, Vega, Vega-Lite, WaveDrom, WireViz... and more to come!
lukilabs/beautiful-mermaid
https://github.com/lukilabs/beautiful-mermaid?tab=readme-ov-file#rendermermaidtext-options-promisestring
Mermaid is the de facto standard for text-based diagrams. It's brilliant. But the default renderer has problems:
Aesthetics — Might be personal preference, but wished they looked more professional
Complex theming — Customizing colors requires wrestling with CSS classes
No terminal output — Can't render to ASCII for CLI tools
Heavy dependencies — Pulls in a lot of code for simple diagrams
We built beautiful-mermaid at Craft to power diagrams in Craft Agents. It's fast, beautiful, and works everywhere—from rich UIs to plain terminals.
Broadcast Channel API - Web APIs | MDN
https://developer.mozilla.org/en-US/docs/Web/API/Broadcast_Channel_API
The Broadcast Channel API allows basic communication between browsing contexts (that is, windows, tabs, frames, or iframes) and workers on the same origin.
By creating a BroadcastChannel object, you can receive any messages that are posted to it. You don't have to maintain a reference to the frames or workers you wish to communicate with: they can "subscribe" to a particular channel by constructing their own BroadcastChannel with the same name, and have bi-directional communication between all of them.
Submitted for Your Approval
https://intertwingly.net/blog/2026/01/28/Twilight-Zone.html
The blog demo was a real Rails application running full stack in your browser. Action Cable over BroadcastChannel. Active Record over IndexedDB. The editor runs on WebContainers — Node.js and npm, entirely in browser memory. The same patterns, the same code structure, no server.
What originally motivated this is now child's play to build. I want judges to be able to record scores during an event despite unreliable Wi-Fi. Downloading the agenda and that judge's scores entered to date and then running the existing ERB views over IndexedDB just works. Posting updates in real time when possible and batch when connectivity resumes is straightforward. Since each judge records their own scores, there are no merge conflicts. Mount the resulting offline SPA via Rack middleware, and everything works transparently.
How to Favicon in 2026: Three files that fit most needs—Martian Chronicles, Evil Martians’ team blog
https://evilmartians.com/chronicles/how-to-favicon-in-2021-six-files-that-fit-most-needs
For the browser using HTML:
<link rel="icon" href="/favicon.ico" sizes="32x32">
<link rel="icon" href="/icon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="/apple-touch-icon.png"><!-- 180×180 -->
web-infra-dev/midscene: Driving all platforms UI automation with vision-based model
https://github.com/web-infra-dev/midscene
Driving all platforms UI automation with vision-based model
Cursor is better at marketing than coding • The Register
https://www.theregister.com/2026/01/26/cursor_opinion/
From where I sit, what makes the Cursor case more dangerous than just a failed hack‑week project is that the hype is baked into its methodology. The "experiment" wasn't presented as what it really was: an interesting, but messy, internal learning exercise. No, it was rolled out as a milestone that conveniently confirmed the company's long‑running autonomous agent advertising. Missing from the story were basics any senior engineer would demand: passing Continuous Integration (CI), reproducible builds, and real benchmarks that show the browser doing more than limping through a hello-world page.
gaul/s3proxy: Access other storage backends via the S3 API
https://github.com/gaul/s3proxy
Access other storage backends via the S3 API
rustfs/rustfs: 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system supporting migration and coexistence with other S3-compatible platforms such as MinIO and Ceph.
https://github.com/rustfs/rustfs
🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system supporting migration and coexistence with other S3-compatible platforms such as MinIO and Ceph.
seaweedfs/seaweedfs: SeaweedFS is a fast distributed storage system for blobs, objects, files, and data lake, for billions of files! Blob store has O(1) disk seek, cloud tiering. Filer supports Cloud Drive, xDC replication, Kubernetes, POSIX FUSE mount, S3 API, S3 Gateway, Hadoop, WebDAV, encryption, Erasure Coding. Enterprise version is at seaweedfs.com.
https://github.com/seaweedfs/seaweedfs/
SeaweedFS is a fast distributed storage system for blobs, objects, files, and data lake, for billions of files! Blob store has O(1) disk seek, cloud tiering. Filer supports Cloud Drive, xDC replication, Kubernetes, POSIX FUSE mount, S3 API, S3 Gateway, Hadoop, WebDAV, encryption, Erasure Coding. Enterprise version is at seaweedfs.com.
How to Make a Damn Website
https://lmnt.me/blog/how-to-make-a-damn-website.html
A lot of people want to make a website but don’t know where to start or they get stuck. That’s in part because our perception of what websites should be has changed so dramatically over the last 20 years.
Resources for the Personal Web: A Follow-Up Guide · brennan.day
https://brennan.day/resources-for-the-personal-web-a-follow-up-guide/
We must find moments of joy in the horror of our present. Joy is not a prize for getting through it all—joy is a tool that enables us to get through the horror. Our joy is an act of resistance.
The independent web is already here, quietly thriving while Big Tech implodes under its own extractive weight. All you have to do is join it.
Host your own webmention receiver | Brain Baking
https://brainbaking.com/post/2021/05/beyond-webmention-io/
Yesterday’s “Webmentions Beyond Webmention.io” IndieWeb event (see notes) exposed a problem: many bloggers exploring the IndieWeb and Webmention world simply make use of webmention.io, a hosted solution that handles receiving mentions, enabling you to treat the whole system as a black box. Aaron wondered: “why are so many people using webmention.io?” - and the answer is quite obvious: because it’s easy. Just add <link rel="webmention href="https://webmention.io/something"> to your HTML header after signing up and you’re done.
aaronpk/indielogin.com: Sign in with your domain name
https://github.com/aaronpk/IndieLogin.com
IndieLogin enables users to sign in with their domain name by linking their domain name to existing authentication providers.
Various ways to include comments on your static site
https://darekkay.com/blog/static-site-comments/
Static site generators like Eleventy, Jekyll or Hugo have become a popular choice for a blogging platform or a CMS. When using something like WordPress or Medium, you get a comment section out of the box. It isn't as straightforward in a static environment. In this article, I'll summarize different options to provide your audience with a way to leave a comment.
A Quick Guide to Everything I Know about Webmentions
https://reillyspitzfaden.com/wiki/tutorials/webmention-tutorial/
Webmentions are great! They're a way that personal websites can interact with each other — you can notify another site when you link to them, and receive notifications when someone links to you. I find them to allow for some of the nicer parts of social interaction on the web, but with much more agency and much less inflammatory or harmful material than something like Facebook or Instagram. However, then can also be a bit intimidating, especially for non-developers.
EchoFeed - Cross post your RSS feed to Mastodon, Bluesky, Micro.blog, Discord, and more!
https://echofeed.app/
It supports reading RSS & Atom & JSON feeds and then posting those items to Mastodon & Micro.blog & Bluesky & GitHub & Discord & LinkAce & LinkDing. Or it can send them as Webmentions & Webhooks.
EmNudge/watlings: Learn WebAssembly by writing small programs!
https://github.com/EmNudge/watlings
Learn the WebAssembly Text Format
by fixing a bunch of small programs!
What Happened To WebAssembly
https://emnudge.dev/blog/what-happened-to-webassembly/
On every WebAssembly discussion, there is inevitably one comment (often near the top) asking what happened.
It seems to have been advertised as a world-changing advancement. Was it just oversold? Was it another JVM applet scenario, doomed to fail?
Keynote: The Death of the Browser - Rachel-Lee Nabors, AgentQL - YouTube
https://www.youtube.com/watch?v=pznpsgZqlGQ
In ten years, Internet Browsers may be a nostalgic memory. As enterprises face mounting API costs and integration headaches, a new paradigm is emerging. The internet's evolution from an open highway into a maze of walled gardens and monetized APIs has created significant challenges for businesses—but it has also set the stage for accessing and organizing the world’s information.
This lightning talk traces our journey from the invention of the browser to the arms race of scraping for data and access to it to the dawn of AI agents, showing how the challenges of today opened the door to tomorrow. See how technologies refined by the web scraping community are combining with large language models to create practical alternatives to costly API integrations.
From the rise of platform monopolies to the emergence of AI agents, this timeline-based exploration will help you understand where we've been, where we are, and where we're heading. Join us for a glimpse of how AI agents are enabling a return to the era of free information with ""the web as the API.
The Agentic Web
https://agenticweb.nearestnabors.com//feed
Web development is fun again
https://ma.ttias.be/web-development-is-fun-again/
It’s also not the typing of code that I really enjoy, nor is it the syntax or structure or boilerplate that’s required to build anything. It’s the fact you get to build something out of nothing, writing code was just how you got there. And with today’s tooling, that saves a ton of time.
AI really has made web development fun again.
How To Dynamically Install Custom Elements: HeydonWorks
https://heydonworks.com/article/dynamically-loading-custom-elements/
Today, I want to look into one very specific topic in excruciating technical detail: how to dynamically load custom elements.
Origin private file system - Web APIs | MDN
https://developer.mozilla.org/en-US/docs/Web/API/File_System_API/Origin_private_file_system
The origin private file system (OPFS) is a storage endpoint provided as part of the File System API, which is private to the origin of the page and not visible to the user like the regular file system. It provides access to a special kind of file that is highly optimized for performance and offers in-place write access to its content.
The Silicon Valley Stack Doesn’t Work Here: Why Africa Will Lead the Post-Bloat Web | by Paul Allies | Dec, 2025 | Medium
https://paulallies.medium.com/the-silicon-valley-stack-doesnt-work-here-why-africa-will-lead-the-post-bloat-web-e7c34b577c61
While the West builds for the 1%, Africa has the opportunity — and the necessity — to lead the world in building for the next billion users. We don’t need to catch up to their bloated standards; we need to leapfrog them. By embracing a “back-to-basics” approach — prioritising Server-Side Rendering (SSR), lightweight libraries, and “Offline-First” architectures — Africa can become the global hub for the sustainable, lean web.
You can make up HTML tags: (Maurycy's blog)
https://maurycyz.com/misc/make-up-tags/
Browsers handle unrecognized tags by treating them as a generic element, with no effect beyond what’s specified in the CSS. This isn’t just a weird quirk, but is standardized behavior. If you include hyphens in the name, you can guarantee that your tag won’t appear in any future versions of HTML.
delphitools - Handmade Developer Tools
https://tools.rmv.fyi/
A collection of small, low stakes and low effort tools.
No logins, no registration, no data collection. I can't believe I have to say that. Long live the handmade web.
If you find these tools useful, I'm glad. You don't owe me anything. But if you're an artist, feel free to email me your work. I'd love to see it.
antonmedv/textarea: A minimalist text editor that lives in URL
https://github.com/antonmedv/textarea?tab=readme-ov-file
A minimalist text editor that lives in URL
Scripting News: The web as your plan B
http://scripting.com/2025/12/22/220039.html?title=theWebAsYourPlanB
My advice -- think this through, now. And if you can't see a way that you share in the success of the company behind Bluesky, which we know very little about, then I urge you to at least have the web as a backup. Use a standard format to broadcast your writer's work to places outside the AT Proto-verse, so we can pick up your signal, and you'll still be on the air if they yank your chain. This alone might get the Bluesky folk to listen to you more carefully. My experience, no matter how much you want, you can't wish away the economics of this stuff.
The handleEvent() method is the absolute best way to handle events in Web Components | Go Make Things
https://gomakethings.com/the-handleevent-method-is-the-absolute-best-way-to-handle-events-in-web-components/
A bunch of people shared their own approaches, but the one that absolutely blew my mind was the handleEvent() method, a platform-native method for managing all of the events on your Web Component.
My HTML Web Component boilerplate for 2026 | Go Make Things
https://gomakethings.com/my-html-web-component-boilerplate-for-2026/
I created web component boilerplate years ago. Since then, my approach to writing web component has changed quite a bit.
I just updated the boilerplate, adding everything I’ve learned from working on Kelp UI. Today, I wanted to explain how it works.
About - Ringspace Trusted Webrings: Protocol Specification
https://ringspace.net/about.html
Ringspace is an attempt to revive the old concept of webrings, but with an added twist: mutual verification of identity and reputation. Historically, webrings were simply a “doubly-linked list” of sites, in which each member provided links to the previous and next members in the ring. A simple concept, brilliantly effective in its time to organize the web into discrete, discoverable communities in a time before search engines.
Introducing Ringspace: A Proposal for the Human Web: Taggart Tech
https://taggart-tech.com/ringspace/
Ringspace is a proof-of-concept for how we might modernize the webring concept to provide a reasonable amount of trust within a small human community of creators. It attempts to provide readers of sites with a guarantee that the site is a) who they claim to be, and b) in good standing in the community. With a simple CLI and an accompanying browser extension (and a little asymmetric cryptography), the webring model blossoms into a trust model suitable for small to medium-sized communities.
Please Just Fucking Try HTMX
https://pleasejusttryhtmx.com/
Look. I'm not going to call you a fucking moron every other sentence. That's been done. It's a whole genre now. And honestly? HTMX doesn't need me to scream at you to make its point.
The Web Platform is a Triumph of Object-Oriented Programming | That HTML Blog
https://thathtml.blog/2025/12/the-dom-is-a-triumph-of-object-oriented-programming/
It’s not just that web APIs often take advantage of OOP. They would not exist without OOP! Virtually every web API you have ever used is designed specifically within the OOP paradigm. And every entity in the lifecycle of a web page is based on objects. These objects are instances of classes and in a great many cases these classes are subclasses of other classes. This means that key functionality is spread across a class hierarchy. That isn’t a bug, it’s a feature! And this means that it’s absurd to think that to write a web app you need to reach for a “framework”. The Web Platform is a framework.
Why RSS matters
https://werd.io/why-rss-matters/
RSS has always worked quietly in the background. In a moment when the web is being reshaped by enclosure, consolidation, and algorithmic mediation, its reliability is exactly what we need. It offers a simple, durable way for publishers to keep control of their distribution and for readers to keep control of their attention, without permission, platform lock-in, or hidden agendas. If we treat RSS not as a relic of an earlier web but as the strategic infrastructure it already is, it can continue to anchor a more open, more resilient, and more humane internet for decades to come.
Useful patterns for building HTML tools
https://simonwillison.net/2025/Dec/10/html-tools/
I’ve started using the term HTML tools to refer to HTML applications that I’ve been building which combine HTML, JavaScript, and CSS in a single file and use them to provide useful functionality. I have built over 150 of these in the past year, almost all of them written by LLMs. This article presents a collection of useful patterns I’ve discovered along the way.
Creating a static website for all my bookmarks – alexwlchan
https://alexwlchan.net/2025/bookmarks-static-site/
I’m storing more and more of my data as static websites, and about a year ago I switched to using a local, static site to manage my bookmarks. It’s replaced Pinboard as the way I track interesting links and cool web pages. I save articles I’ve read, talks I’ve watched, fanfiction I’ve enjoyed.
The Internet forgets, but I don’t want to – alexwlchan
https://alexwlchan.net/2025/social-media-scrapbook/
If there’s something online you care about and wouldn’t want to lose, save your own copy. The history of the Internet tells us that it will almost certainly disappear at some point.
Welcome to Quartz 4
https://quartz.jzhao.xyz/
Quartz is a fast, batteries-included static-site generator that transforms Markdown content into fully functional websites. Thousands of students, developers, and teachers are already using Quartz to publish personal notes, websites, and digital gardens to the web.
I built a tiny RSS generator for my Advent of Code solutions : Juha-Matti Santala
https://hamatti.org/posts/i-built-a-tiny-rss-generator-for-my-advent-of-code-solutions/
This week, I started solving Advent of Code problems and this time I’m publishing my explanations as part of my Digital Garden and that doesn’t support separated RSS feeds for a subset of notes.
Two IndieWeb principles that I love are Make what you need and Use what you make. In that spirit, I built a tiny tool today afterwork to enable people to follow my Advent of Code explanations via RSS.
In 1995, a Netscape employee wrote a hack in 10 days that now runs the Internet - Ars Technica
https://arstechnica.com/gadgets/2025/12/in-1995-a-netscape-employee-wrote-a-hack-in-10-days-that-now-runs-the-internet/
The 10-day creation story has become programming folklore, but even with that kernel of truth we mentioned, it tends to oversimplify the timeline. Eich’s sprint produced a working demo, not a finished language, and over the next year, Netscape continued tweaking the design. The rushed development left JavaScript with quirks and inconsistencies that developers still complain about today. So many changes were coming down the pipeline, in fact, that it began to annoy one of the industry’s most prominent figures at the time.
Django 6.0 released | Weblog | Django
https://www.djangoproject.com/weblog/2025/dec/03/django-60-released/
The Django team is happy to announce the release of Django 6.0.
The release notes assembles a mosaic of modern tools and thoughtful design. A few highlights are:
Template Partials: modularize templates using small, named fragments for cleaner, more maintainable code. (GSoC project by Farhan Ali Raza, mentored by Carlton Gibson)
Background Tasks: run code outside the HTTP request-response cycle with a built-in, flexible task framework. (Jake Howard)
Being of the Web – CogDogBlog
https://cogdogblog.com/2011/08/being-of-the-web/
If you are “of” the web, you are doing things that make content available, leaving it there, making it findable. Twitter takes place “on” the web (and elsewhere) but the older rings of growth die off as the search is only able to return just the newest few weeks of stuff. Twitter thus creates debris rings of dead web content.
Of the web
https://werd.io/of-the-web/
most web apps are on the web, but not of it. This seems right to me, and I suspect web instigators like Tim Berners-Lee would agree.
The odd thing is that, for a while, desktop software did exactly this. Word would save a document in a particular format, and another application written by someone else entirely could open that document. When we moved to the cloud, we signed up for a computing environment that was as much about siloing and isolation as much as it was about ease of access and maintenance.
Using CSS nesting - CSS | MDN
https://developer.mozilla.org/en-US/docs/Web/CSS/Guides/Nesting/Using
The CSS nesting module allows you to write your stylesheets so that they are easier to read, more modular, and more maintainable. As you are not constantly repeating selectors, the file size can also be reduced.
CSS nesting is different from CSS preprocessors such as Sass in that it is parsed by the browser rather than being pre-compiled by a CSS preprocessor. Also, in CSS nesting, the specificity of the & nesting selector is similar to the :is() function; it is calculated using the highest specificity in the associated selector list.
Custom Asidenotes – Eric’s Archived Thoughts
https://meyerweb.com/eric/thoughts/2025/10/29/custom-asidenotes/
Previously on meyerweb, I crawled through a way to turn parenthetical comments into sidenotes, which I called “asidenotes”. As a recap, these are inline asides in parentheses, which is something I like to do. The constraints are that the text has to start inline, with its enclosing parentheses as part of the static content, so that the parentheses are present if CSS isn’t applied, but should lose those parentheses when turned into asidenotes, while also adding a sentence-terminating period when needed.
V.H. Belvadi — IndieWeb Carnival Dec ’25 • (Venkatram Harish Belvadi)
https://vhbelvadi.com/indieweb-carnival-future
Welcome to the last IndieWeb Carnival of 2025. Having been a part of this wonderful community for years now and having thought about the IndieWeb from various perspectives, I have plenty of ideas about where I hope we are headed in the near future. And I am sure you do too.
The indie web is here to make the internet weird again | The Verge
https://www.theverge.com/column/829831/indie-web-geocities-neocities
Depending on how social media changes over the next few years, I wouldn’t be surprised to see more people leave and give the indie web a try. Much like vinyl, it will probably never return to its peak like in the pre-Yahoo GeoCities days, but I think there will continue to be a consistent group of people who flock to this side of the internet to escape the modern internet.