Sign in

Thomas Steiner

@tomayac.com
3.3K followers 236 following 225 posts

Developer Relations Engineer at Google, focused on the Web, WebAssembly, and Project Fugu 🐡. Dad-of-3.

PostsRepliesMedia
Thomas Steiner @tomayac.com · 29/09/2026
It's early days for the #CrossOriginStorage API, but because it works perfectly as a progressively enhancement, why not teach your agents already how to use it? Modern Web Guidance now has, well, guidance for using the COS API. ⤵️
041
Thomas Steiner @tomayac.com · 28/09/2026
Friendly reminder that there's a way to go on-the-record with your project's or company's #CrossOriginStorage API use case and express support. This can be helpful when discussing with other vendors. 👉 Current supporters: github.com/WICG/cross-o... 👉 Add yours: github.com/WICG/cross-o...
github.com
Issues · WICG/cross-origin-storage
Cross-Origin Storage (COS), a content-addressable browser cache that shares files across origins by hash, with k-anonymity-based availability gating to prevent cross-site tracking - Issues · WICG/c...
1141
Thomas Steiner @tomayac.com · 17/09/2026
Another #CrossOriginStorage API DevTools exploration: showing some metadata for resources on the Public Hash List (github.com/WICG/cross-o...), so the entries in the table are more than opaque hash strings.
Chrome DevTools showing multiple resources in Cross-Origin Storage. The metadata of the selected resource (that is on the Public Hash List) shows that the resource is from the list's Hugging Face section and belongs to the Whisper Tiny AI model.
120
Reposted by Thomas Steiner
Thomas Steiner @tomayac.com · 14/09/2026
I was on the @shoptalkshow.com with @chriscoyier.net and @davatron5000.bsky.social to chat about the #CrossOriginStorage API, see the quoted skeet ⤵️. If you bookmark just one link after the show, make it github.com/tomayac/awes....
github.com
GitHub - tomayac/awesome-cross-origin-storage: A curated list of resources for the Cross-Origin Storage (COS) API
A curated list of resources for the Cross-Origin Storage (COS) API - tomayac/awesome-cross-origin-storage
1206
Thomas Steiner @tomayac.com · 14/09/2026
I was on the @shoptalkshow.com with @chriscoyier.net and @davatron5000.bsky.social to chat about the #CrossOriginStorage API, see the quoted skeet ⤵️. If you bookmark just one link after the show, make it github.com/tomayac/awes....
github.com
GitHub - tomayac/awesome-cross-origin-storage: A curated list of resources for the Cross-Origin Storage (COS) API
A curated list of resources for the Cross-Origin Storage (COS) API - tomayac/awesome-cross-origin-storage
1206
Thomas Steiner @tomayac.com · 14/09/2026
Akaash Parthasarathy from the WebLLM team has filed WebKit and Mozilla feature request bugs asking for #CrossOriginStorage API support in Firefox and Safari: 🧭 bugs.webkit.org/show_bug.cgi... 🦊 bugzilla.mozilla.org/show_bug.cgi... (Chrome's implementation bug is crbug.com/547587764.)
bugs.webkit.org
324017 – Support Cross-Origin Storage for reuse of WebLLM model artifacts across sites
000
Thomas Steiner @tomayac.com · 03/09/2026
🎧 I was a guest of @codepo8.bsky.social again for the @wearedevelopers.bsky.social podcast to talk about the #CrossOriginStorage API: www.wearedevelopers.com/videos/2162-.... Happy listening! (Find all related resources on the Awesome Cross-Origin Storage 😎 list: github.com/tomayac/awes...)
Chris and Tom, both wearing headphone, in a side-by-side view during the podcast recording.
051
Reposted by Thomas Steiner
Thomas Steiner @tomayac.com · 01/09/2026
DevTools and browser Settings UI exploration for the #CrossOriginStorage API is coming along nicely. What would you expect to see in both DevTools and Settings? Let me know!
DevTools in Chrome, exploring a resource stored in Cross-Origin Storage.Chrome Settings page for Cross-Origin Storage, showing the files in Cross-Origin Storage, ordered by size with usage stats for each entry.
032
Thomas Steiner @tomayac.com · 01/09/2026
DevTools and browser Settings UI exploration for the #CrossOriginStorage API is coming along nicely. What would you expect to see in both DevTools and Settings? Let me know!
DevTools in Chrome, exploring a resource stored in Cross-Origin Storage.Chrome Settings page for Cross-Origin Storage, showing the files in Cross-Origin Storage, ordered by size with usage stats for each entry.
032
Thomas Steiner @tomayac.com · 28/08/2026
🤩 Fantastic article by @nucliweb.net on HTTP cache partitioning and the #CrossOriginStorage API: joanleon.dev/en/http-cach.... Try the embedded demos with the COS extension installed or in one of the experimental browser builds (see the Awesome Cross-Origin Storage list: github.com/tomayac/awes...).
joanleon.dev
HTTP cache partitioning: the same image, downloaded twice | Joan León
A page with a cross-site iframe requests the same image from the iframe and from the parent. Chrome downloads it twice; Firefox and Safari, once. Why the cache key differs across the three engines, wh...
0153
Reposted by Thomas Steiner
Thomas Steiner @tomayac.com · 27/08/2026
I have a new unofficial macOS Chromium build out for you to test with #CrossOriginStorage API support and full DevTools integration: goo.gle/cos-chromium. Remember to set the Cross-Origin-Storage flag in `chrome://flags/#cross-origin-storage` and find Cross-origin storage on the Application tab.
Chromium running Quake with the Chrome DevTools Application panel open and the Cross-origin storage section selected, showing Three.js being shared between two origins.
011
Thomas Steiner @tomayac.com · 27/08/2026
I have a new unofficial macOS Chromium build out for you to test with #CrossOriginStorage API support and full DevTools integration: goo.gle/cos-chromium. Remember to set the Cross-Origin-Storage flag in `chrome://flags/#cross-origin-storage` and find Cross-origin storage on the Application tab.
Chromium running Quake with the Chrome DevTools Application panel open and the Cross-origin storage section selected, showing Three.js being shared between two origins.
011
Thomas Steiner @tomayac.com · 24/08/2026
Early Chrome DevTools exploration for debugging the #CrossOriginStorage API. This shows global stats first and then per-origin stats, here inspecting Three.js. - (WIP) backend CL: chromium-review.googlesource.com/c/chromium/s... - (WIP) frontend CL: chromium-review.googlesource.com/c/devtools/d...
Descent game on the left. The right side shows Chrome DevTools on the Application tab with a new "Cross-origin storage" section.
041
Thomas Steiner @tomayac.com · 20/08/2026
macOS users interested in #CrossOriginStorage: you can now run a test build with the API behind a flag 🚩: github.com/tomayac/Chro.... In `about://flags`, search for Cross-Origin Storage, set it to Enabled, restart when prompted. To un-quarantine the app, see github.com/tomayac/Chro....
github.com
020
Thomas Steiner @tomayac.com · 18/08/2026
🤩 It's happening!!1! I just sent the "Intent to Prototype" email for the #CrossOriginStorage API: groups.google.com/a/chromium.o.... If you want to stay in the loop, star the ☂️ umbrella Chromium bug crbug.com/547587764 (and the subtask bugs: crbug.com/547587764/de...).
groups.google.com
Intent to Prototype: Cross-Origin Storage
0151
Thomas Steiner @tomayac.com · 16/08/2026
😎 Chromium (personal fork) passing all Web Platform Tests of the #CrossOriginStorage API. * WIP CL: chromium-review.googlesource.com/c/chromium/s... * Runnable binary: github.com/tomayac/Chro... (Linux x86_64)
Chromium on Linux x86_64 running 30 Web Platform Tests of the Cross-Origin Storage API. All tests pass.
0160
Thomas Steiner @tomayac.com · 14/08/2026
Look, ma, that's WebKit 🧭 passing all Web Platform Tests for #CrossOriginStorage. And you can try it: github.com/tomayac/WebK... (personal fork)! That's now four prototype implementations of the API in four different browsers: github.com/tomayac/awes... (all of them with releases you can run).
WebKit mini browser showing the passing test suite for the Cross-Origin Storage API: 30 passing tests.
0191
Thomas Steiner @tomayac.com · 11/08/2026
For the first time you can try the #CrossOriginStorage API on a "real" browser—after the still in-development browsers [shells] Servo and Ladybird: I managed to implement the API in proper Firefox 🦊: github.com/tomayac/awes... (Note that all of those are personal experimental builds.)
github.com
GitHub - tomayac/awesome-cross-origin-storage: A curated list of resources for the Cross-Origin Storage (COS) API
A curated list of resources for the Cross-Origin Storage (COS) API - tomayac/awesome-cross-origin-storage
030
Thomas Steiner @tomayac.com · 09/08/2026
More #CrossOriginStorage API updates: filed HTML issues (CSS already existed) toward better integration in the platform: * Add `crossoriginstorage` attribute to `<link>` and `<script>`: github.com/whatwg/html/... * Add `crossOriginStorage` JavaScript import attribute: github.com/whatwg/html/...
github.com
Add `crossoriginstorage` attribute to `<link>` and `<script>` · Issue #12770 · whatwg/html
What problem are you trying to solve? <link> and <script> elements load resources declaratively, driven entirely by markup, before any page script needs to run. The Cross-Origin Storage (COS) API (...
230
Thomas Steiner @tomayac.com · 07/08/2026
If you want to experience Cross-Origin Storage (COS) in two real browsers, I managed to add full imperative COS API support (`navigator.crossOriginStorage`) to both @servo.org and Ladybird (personal prototypes): github.com/tomayac/awes.... #CrossOriginStorage
github.com
GitHub - tomayac/awesome-cross-origin-storage: A curated list of resources for the Cross-Origin Storage (COS) API
A curated list of resources for the Cross-Origin Storage (COS) API - tomayac/awesome-cross-origin-storage
190
Thomas Steiner @tomayac.com · 06/08/2026
Super happy to announce that I'll be presenting about the #CrossOriginStorage API at #JSNationUS 2026: gitnation.com/badges/jsnat.... Click this link to sign up for partial free streaming access! Here's the talk's abstract: gitnation.com/contents/cro....
gitnation.com
Check out my badge & claim your free JSNation US 2026 remote ticket!
Join 5k engineers worldwide at JSNation US 2026 and meet 50+ top speakers at November 16 - 19, 2026
190
Thomas Steiner @tomayac.com · 05/08/2026
I've now filed (or commented on existing) standards position requests from other browser vendors (WebKit & Mozilla) and the W3C TAG for the #CrossOriginStorage API: * Mozilla: github.com/mozilla/stan... * WebKit: github.com/WebKit/stand... 🆕 * W3C TAG: github.com/w3ctag/desig... 🆕
github.com
Cross-Origin Storage (COS) · Issue #1427 · mozilla/standards-positions
Specification title Cross-Origin Storage (COS) Specification or proposal URL (if available) No response Explainer URL (if available) https://github.com/WICG/cross-origin-storage/ Proposal author(s)...
090
Thomas Steiner @tomayac.com · 05/08/2026
If you're interested in the Cross-Origin Storage API, I just created a new Bluesky feed, check it out and pin it if you like it: bsky.app/profile/did:... #CrossOriginStorage
0174
Thomas Steiner @tomayac.com · 04/08/2026
I was once again a guest on the German-speaking 🇩🇪 @workingdraft.de podcast 🎙️ to talk about the Cross-Origin Storage API: workingdraft.de/723/. thoroughly enjoyed chatting about this exciting API proposal with @schepp.dev and @sirpepe.bsky.social. Track #CrossOriginStorage for more.
workingdraft.de
Revision 723: Cross-Origin Storage API – Caching über Origins hinweg, mit Thomas Steiner | Working Draft
Wir sprechen mit Thomas Steiner (Mastodon, Bluesky, LinkedIn) von Google über einen neuen Vorschlag für die Webplattform: die Cross-Origin-Storage API. Tom war bereits mehrfach bei uns zu Gast, zuletz...
092
Reposted by Thomas Steiner
Web Standards @web-standards.dev · 27/07/2026
Cross-Origin Storage API: stop downloading twice. @morello.dev explains a proposed standard that stores large files by their SHA-256 hash, so origins share one device cache instead of downloading duplicates. #performance #browser morello.dev/blog/cro...
“Cross-Origin Storage” title with the subtitle “Share one copy of a file across origins” above a code editor window and the name Dennis Morello.
273
Reposted by Thomas Steiner
Bramus @bram.us · 28/07/2026
Nice to see this being worked on 🤩 You can already use `<input type="checkbox" switch>` today BTW, thanks to this polyfill by my colleague @tomayac.com: github.com/tomayac/inpu...
github.com
GitHub - tomayac/input-switch-polyfill: A polyfill for <input type="checkbox" switch>
A polyfill for <input type="checkbox" switch>. Contribute to tomayac/input-switch-polyfill development by creating an account on GitHub.
1375
Thomas Steiner @tomayac.com · 22/07/2026
Cross-Origin Storage API: Stop Downloading Twice: dev.to/morellodev/c.... A great overview of our proposal for the #CrossOriginStorage API by Dennis Morello. 👏
dev.to
Cross-Origin Storage API: Stop Downloading Twice
The Cross-Origin Storage API lets sites share one cached copy of a file (a JS library, font, or AI model) across origins by SHA-256 hash. Here's how it works.
1191
Reposted by Thomas Steiner
Joaquín Sánchez @userquin.bsky.social · 18/07/2026
Integrating Vite PWA Inspector with @vite.dev devtools, the inspector can run also as a seperated middleware (ala vite-plugin-inspect or UnoCSS inspector). @tomayac.com #PWA
Vite PWA Inspector showing PWA web manifest including icons (like chrome devtools) integrated with Vite devtools.
1102
Thomas Steiner @tomayac.com · 04/07/2026
Started an Awesome Cross-Origin Storage list: github.com/tomayac/awes... . Transformers.js, WebLLM, wllama, Flutter, Emscripten, Nuxt and Vite plugins, and a bunch of demos… #Awesome #CrossOriginStorage
github.com
GitHub - tomayac/awesome-cross-origin-storage: A curated list of resources for the Cross-Origin Storage (COS) API
A curated list of resources for the Cross-Origin Storage (COS) API - tomayac/awesome-cross-origin-storage
1110
Thomas Steiner @tomayac.com · 03/07/2026
👀 Look, ma! The Cross-Origin Storage extension running on Firefox! If you dare, install it via `about:debugging` from github.com/web-ai-commu.... Else, just wait for it to be approved on the Firefox Add-on Store. More background on #CrossOriginStorage: github.com/WICG/cross-o....
Cross-Origin Storage extension running in Firefox. Its popup window is open and shows resources being used across origins. The active tab is that of the extension's tests. All tests pass.
1143
Thomas Steiner @tomayac.com · 27/06/2026
Really great questions and comments on @danielroe.dev's posts on Nuxt's experiments with the Cross-Origin Storage API (github.com/WICG/cross-o...): 🐘 Mastodon: mastodon.roe.dev/@daniel/1168... 🦋 Bluesky: bsky.app/profile/dani... 💼 LinkedIn: www.linkedin.com/posts/daniel...
github.com
GitHub - WICG/cross-origin-storage: Explainer for the Cross-Origin Storage (COS) API
Explainer for the Cross-Origin Storage (COS) API. Contribute to WICG/cross-origin-storage development by creating an account on GitHub.
1194
Reposted by Thomas Steiner
danielroe @danielroe.dev · 26/06/2026
right now testing it out means: ⚪ using the vite plugin or nuxt module ⚪ installing an 'unpacked' version of a chrome extension that polyfills this functionality ⚪ checking to see if your site still builds, and ideally comparing output _across_ several sites
chromewebstore.google.com
Cross-Origin Storage - Chrome Web Store
Implements the proposed Cross-Origin Storage API, letting sites share files with your consent for a faster and more efficient web.
161
Reposted by Thomas Steiner
danielroe @danielroe.dev · 26/06/2026
I'm working with @tomayac.com to build bundler integration for this (currently a nuxt module + a vite plugin) I'd love to know: 1️⃣ if this sounds like a good idea you'd use 2️⃣ if you wanted to test it out and see if it might make a difference for you ... happy to help if you have questions! 🙏
github.com
GitHub - danielroe/cross-origin-storage: Load shared dependencies from Cross-Origin Storage (COS).
Load shared dependencies from Cross-Origin Storage (COS). - danielroe/cross-origin-storage
4182
Reposted by Thomas Steiner
danielroe @danielroe.dev · 26/06/2026
wouldn't it be nice if sites could share a cache of common js? ... stuff like react, or vue or svelte? 👉 there's an early stage proposal for cross-origin storage which enables exactly this. there are challenges but I think it's very interesting indeed
github.com
GitHub - WICG/cross-origin-storage: Explainer for the Cross-Origin Storage (COS) API
Explainer for the Cross-Origin Storage (COS) API. Contribute to WICG/cross-origin-storage development by creating an account on GitHub.
1613519
Reposted by Thomas Steiner
Chrome for Developers @developer.chrome.com · 25/06/2026
Meet Google DevRel Engineer @tomayac.com, who specializes in Web AI and WebAssembly. At #GoogleIOConnect Berlin, Thomas will focus on helping developers build privacy-first, on-device AI web apps natively in the browser, entirely client-side and with zero API keys required.
Thomas SteinerBuilt-in AI quote
062
Reposted by Thomas Steiner
🤷 Nico Martin @nico.dev · 24/06/2026
@tomayac.com colaborated with us on implementing the Cross-Origin Storage API in Transformers.js. Read his blogpost to learn how to try out the API right now🤗
011
Reposted by Thomas Steiner
Emscripten @emscripten.org · 23/06/2026
Emscripten 6.0.1 is out! 🚀 github.com/emscripten-c... Includes support for Rust's wasm-bindgen, and the new Cross-Origin Storage browser API. Also we are now using Github releases (as in the link here)
github.com
Release 6.0.1 · emscripten-core/emscripten
What's Changed The ability to redirect JS compiler stderr using EMCC_STDERR_FILE was removed. These days you can use EMCC_DEBUG and/or EMCC_DEBUG_SAVE to preserve all the intermediate JS compiler...
041
Thomas Steiner @tomayac.com · 23/06/2026
Very excited to share a guest post I wrote for the Hugging Face 🤗 blog! Experimenting with the proposed Cross-Origin Storage API in Transformers.js! 👉 huggingface.co/blog/cross-o... This proposed API has the potential of revolutionizing the Web—a little bit. Learn more: github.com/WICG/cross-o...!
huggingface.co
Experimenting with the proposed Cross-Origin Storage API in Transformers.js
We’re on a journey to advance and democratize artificial intelligence through open source and open science.
082
Thomas Steiner @tomayac.com · 23/06/2026
I'm in the #Emscripten release notes: github.com/emscripten-c.... New experimental `-sCROSS_ORIGIN_STORAGE` linker flag integrating the proposed Cross-Origin Storage Web API (github.com/WICG/cross-o...) as a progressive enhancement for #Wasm loading on the Web target: emscripten.org/docs/compili....
github.com
Release 6.0.1 · emscripten-core/emscripten
What's Changed The ability to redirect JS compiler stderr using EMCC_STDERR_FILE was removed. These days you can use EMCC_DEBUG and/or EMCC_DEBUG_SAVE to preserve all the intermediate JS compiler...
010
Reposted by Thomas Steiner
Thomas Steiner @tomayac.com · 17/06/2026
The one and only @danielroe.dev hacking Cross-Origin Storage (github.com/WICG/cross-origin-storage) support into @nuxt.com. Still loads to do, but a proof of concept works, which means in the future each Nuxt app could share its copy of @vuejs.org with each other Nuxt app. "This is very doable." 🤩
A proof of concept Nuxt app with the Cross-Origin Storage extension and DevTools open, showing the Nuxt Vue bundle loaded from COS.Daniel sitting on the floor of the conference center with his laptop hacking on Nuxt's Cross-Origin Storage implementation.
5688
Reposted by Thomas Steiner
danielroe @danielroe.dev · 17/06/2026
i’m really interested in this proposal 👀 anyone interested in testing it in their sites to see the potential savings?
2302
Thomas Steiner @tomayac.com · 17/06/2026
The one and only @danielroe.dev hacking Cross-Origin Storage (github.com/WICG/cross-origin-storage) support into @nuxt.com. Still loads to do, but a proof of concept works, which means in the future each Nuxt app could share its copy of @vuejs.org with each other Nuxt app. "This is very doable." 🤩
A proof of concept Nuxt app with the Cross-Origin Storage extension and DevTools open, showing the Nuxt Vue bundle loaded from COS.Daniel sitting on the floor of the conference center with his laptop hacking on Nuxt's Cross-Origin Storage implementation.
5688
Reposted by Thomas Steiner
Thomas Steiner @tomayac.com · 30/05/2026
🎧 Your MP3s from Google Drive in Music Assistant on Home Assistant: blog.tomayac.com/2026/05/30/y.... This blog post describes how to connect Google Drive to #MusicAssistant on #HomeAssistant.
blog.tomayac.com
Your MP3s from Google Drive in Music Assistant on Home Assistant
The personal blog of Thomas Steiner
041
Thomas Steiner @tomayac.com · 30/05/2026
🎧 Your MP3s from Google Drive in Music Assistant on Home Assistant: blog.tomayac.com/2026/05/30/y.... This blog post describes how to connect Google Drive to #MusicAssistant on #HomeAssistant.
blog.tomayac.com
Your MP3s from Google Drive in Music Assistant on Home Assistant
The personal blog of Thomas Steiner
041
Reposted by Thomas Steiner
André Bandarra @bandarra.me · 22/05/2026
@tomayac.com 's I/O talk has some great ideas for incorporating AI features into a web app, using the Built-in AI APIs. I'll definitely steal some of those ideas and put them in the admin interface for my personal blog Watch the talk here: www.youtube.com/watch?v=ddBx... #WebAI #BuiltinAI
youtube.com
Build new features using built-in AI in Chrome
YouTube video by Chrome for Developers
042
Thomas Steiner @tomayac.com · 21/05/2026
The resources from my #GoogleIO talk "Build new features using built-in Al in Chrome": 👉 goo.gle/trailblazers (the trailblazers travel blog used as the running example during the talk) 👉 goo.gle/starter-exte... (the Eleventy blog template with editor you can use) 👉 goo.gle/built-in-ai-... (the docs)
goo.gle
trAIlblazers
Exploring the world one peak, one beach, and one city at a time with Maya, Ashok, and Julia.
2113
Thomas Steiner @tomayac.com · 14/05/2026
An experimental polyfill for the Prompt API: developer.chrome.com/docs/ai/prom.... Uses Transformers.js w/ Gemma 3 1B when the Prompt API isn't supported, but you can also use cloud backends (or other models). ```js if (!('LanguageModel' in self)) { await import('prompt-api-polyfill.js'); } ```
developer.chrome.com
An experimental polyfill for the Prompt API  |  AI on Chrome  |  Chrome for Developers
Learn how to use the Prompt API on unsupported platforms or browsers with an experimental polyfill.
010
Thomas Steiner @tomayac.com · 12/05/2026
Learn more about the built-in Translator API that you can use in Chrome since version 138: www.youtube.com/shorts/PCQhS....
youtube.com
Translator API: on-device translation made easy
YouTube video by Chrome for Developers
171
Reposted by Thomas Steiner
Joaquín Sánchez @userquin.bsky.social · 03/05/2026
After reviewing the custom build strategy at workbox-build fork, I have dual SW working at @vite.dev VanillaJS example with a custom pwa plugin 🎉: @tomayac.com @jeff.posnick.org #pwa
Vite VanillaJS example with the main.js entry point with dual service worker (classic and module) and service worker ESM detector.Vite VanillaJS project with service worker type module at chromeVite VanillaJS project with service worker type module at firefoxcustom pwa plugin with Vite VanillaJS
071
Reposted by Thomas Steiner
Marina Aísa @marinaaisa.com · 26/04/2026
Great practical example of how @tomayac.com integrated the Language Detector and Translator APIs into the popular Mastodon client elk.zone. 👇 www.youtube.com/watch?v=-l2B... PR: github.com/elk-zone/elk...
youtube.com
Built-in AI: how Mastodon uses translation APIs
YouTube video by Chrome for Developers
081