Sign in

Matthieu 🦋

@matthieu.bsky.team
14K followers 289 following 314 posts

Protocol Engineer at Bluesky. Building the open social web on AT Protocol. Into web standards, OAuth, TypeScript, and over engineered code. Dad, gamer, Dire Straits fan, sailor and beer enthusiast. From Brussels 🇧🇪

PostsRepliesMedia
Matthieu 🦋 @matthieu.bsky.team · 31/07/2026
AT protocol enthusiasts rejoice! He did it! @dholms.at fixed AT-URIs!
Screenshot of a git commit by @dholms "fix up at uris"
4925
Matthieu 🦋 @matthieu.bsky.team · 24/07/2026
Am I the only one unable to open @leaflet.pub websites on FF mobile? They just render a blank page...
240
Matthieu 🦋 @matthieu.bsky.team · 22/07/2026
We know developing OAuth clients locally has been harder than it could be, partly because `localhost` isn't allowed as a `redirect_uri`. Please chime in on this discussion if you have any concerns about relaxing that particular rule.
github.com
Proposal: allow `localhost` redirect URIs in the localhost dev exception in the OAuth spec · bluesky-social atproto · Discussion #5255
This is a proposal carrying on discussion from this closed PR: bluesky-social/atproto-website#709. There is also a corresponding open issue, bluesky-social/atproto-website#699. Currently, http://12...
915033
Matthieu 🦋 @matthieu.bsky.team · 03/07/2026
Now that we have HTTP QUERY, should the atproto spec be updated to allow that HTTP method for XRPC query methods?
datatracker.ietf.org
RFC 10008: The HTTP QUERY Method
This specification defines the QUERY method for HTTP. A QUERY requests that the request target process the enclosed content in a safe and idempotent manner and then respond with the result of that pro...
1132
Matthieu 🦋 @matthieu.bsky.team · 25/06/2026
Did you know you can start a testing ATProto OAuth client with this simple command? $ pnpx @atproto/oauth-client-browser-example 8080 You can then use the inspector console to interact with your PDS: `await bskyClient.get(app.bsky.actor.profile)` `await bskyClient.list(app.bsky.feed.post)` ...
Screenshot of a browser console showing the command "await bskyClient.get(app.bsky.actor.profile)" and its result
1459
Reposted by Matthieu 🦋
Laurens @laurenshof.online · 28/05/2026
so it turns out the new papal encyclical has a pretty good diagnosis of why the fediverse and the atmosphere keep struggling to govern themselves. guess were doing catholic theology in a protocol blog now connectedplaces.online/reports/fr16...
connectedplaces.online
FR#164 – The Pope on Defederation
This week, the Catholic Church wrote one of the better diagnoses of why decentralised social networks keep struggling.
914742
Reposted by Matthieu 🦋
Firefox for Web Developers @webdevs.firefox.com · 18/05/2026
Chrome shipped an LLM Prompt API to the web platform. At Mozilla, we oppose this API. Here's why:
18419122
Matthieu 🦋 @matthieu.bsky.team · 15/04/2026
Hey y'all, I just released a new version of the PDS distribution that fixes that hCaptcha/COEP issue. Update to v0.4.219 and get the new account manager interface as added bonus.
25114
Matthieu 🦋 @matthieu.bsky.team · 13/04/2026
So @signez.fr , how would you translate "Atmosphere account" in french ?
6130
Matthieu 🦋 @matthieu.bsky.team · 24/03/2026
Test 2
120
Matthieu 🦋 @matthieu.bsky.team · 24/03/2026
Test
120
Reposted by Matthieu 🦋
fry69 @fry69.dev · 21/03/2026
Those bang queries are great, but even faster is adding npmx search to the address bar in Firefox (via right click once) with a keyword (e.g. "@n"). Firefox also supports type ahead and search suggestions from npmx.dev this way. Other browsers will likely offer similar mechanisms (not tested).
38012
Matthieu 🦋 @matthieu.bsky.team · 13/03/2026
Follow this account for live status update
3319
Matthieu 🦋 @matthieu.bsky.team · 13/03/2026
Bluesky's west coast PDS's are experiencing an outage right now. We are looking into it.
2347
Reposted by Matthieu 🦋
daniel holmgren 🫠 @dholms.at · 12/03/2026
continuing to build up our permissioned data protocol! this one asks what a bucket actually is and where the data that constitutes a bucket is stored. it argues for maintaining the atproto ethos in the permissioned data protocol as always, looking forward to hearing your thoughts!
dholms.leaflet.pub
Permissioned Data Diary 3: Your Bucket, My Data
The third in a series of posts building up a solution to permissioned data on atproto. We look at two different models for where buckets live and why the simpler-looking one doesn’t work out.
2322749
Matthieu 🦋 @matthieu.bsky.team · 10/03/2026
Turns out, making @atproto/lex compatible with standardschema.dev was pretty straight forward 🥳
github.com
Add Standard Schema compatibility by matthieusieben · Pull Request #4734 · bluesky-social/atproto
The goal of this PR is to make @atproto/lex-schema compatible with Standard Schema. This is done by defining an ~standard adapter on the Schema class. The change is pretty straight forward and most...
2413
Matthieu 🦋 @matthieu.bsky.team · 02/03/2026
Moved matthieusieben.com over to @blento.app. Nothing crazy to see, just glad I no longer have to worry about CSV in react server components 😅 Also, a website that uses my ATProto repo's content to generate a webpage showing my other ATProto content really show how awesome ATProto really is 🦋
matthieusieben.com
Matthieu Sieben
Protocol Engineer at Bluesky. Building the open social web on AT Protocol. Into web standards, OAuth, TypeScript, and quality code. Dad, sailor (crossed the Atlantic once), gamer, Dire Straits fan, an...
0589
Matthieu 🦋 @matthieu.bsky.team · 06/02/2026
We're planning to stop rendering blobs in the browser from the com.atproto.sync.getBlob endpoint. Let us know if you have any thoughts on this.
github.com
Adding `content-disposition` on `getBlob` HTTP responses · bluesky-social atproto · Discussion #4618
We are planning on releasing a new version of the PDS that contains this change. Once that has been merged, visiting a getBlob endpoint with a browser will force the browser to download the blob, i...
96714
Matthieu 🦋 @matthieu.bsky.team · 05/02/2026
Hey @sindresorhus.com , would you consider adding Bluesky (bsky.app) Links to Velja's list of apps ? Kind of an edge case because it would only apply to users installing the iOS app on their Mac (some of us are weird that way).
160
Matthieu 🦋 @matthieu.bsky.team · 02/01/2026
Wanna write an XRPC server running on Deno ? Well now you can (very experimental!)
Screenshot of code editor showing a demo of running an xrpc server with Deno, using the @atproto/lex and @atproto/lex-server NPM packages.
4608
Matthieu 🦋 @matthieu.bsky.team · 02/01/2026
It's one of those days...
screenshot of a Github commit history showing only failed attempts at fixing continuous integration.
3745
Reposted by Matthieu 🦋
Eli Mallon @iame.li · 24/11/2025
Taking a look at this on stream now!
1272
Matthieu 🦋 @matthieu.bsky.team · 24/11/2025
Hey y'all, we just released a new SDK for working with Lexicons in TypeScript! 🥳 It focuses on improving DX and some of the pain points of the current tooling (see my previous post below). It's currently in beta and we'd love to get your feedback 🙇‍♂️ www.npmjs.com/package/@atp...
npmjs.com
1213429
Reposted by Matthieu 🦋
dame @dame.is · 16/11/2025
PSA: You can make the atproto OAuth flow look way less sketchy with this one weird trick…
1546
Matthieu 🦋 @matthieu.bsky.team · 03/11/2025
Been building on the Atmosphere? The official Lexicon codegen tooling has some rough edges for third-party devs: • Bundle bloat • Painful maintainability • Inflexible client/server modes Wrote up the pain points (and there might be a solution coming 👀)
matthieu.leaflet.pub
Rethinking Lexicon Tooling for Third-Party Developers
The official Lexicon code generation tooling hasn't evolved much since its initial release. While it serves the core atproto codebase well, third-party developers face significant challenges with bundle size, manual maintenance, and architectural constraints that make building production-ready applications unnecessarily difficult.
512019
Reposted by Matthieu 🦋
Samuel @samuel.fm · 24/10/2025
made my first leaflet :) a little guide to our new @atproto/oauth-client-expo library
samuel.leaflet.pub
Getting Started with atproto and Expo - mildly at-musing
a short guide to using @atproto/oauth-client-expo
712519
Reposted by Matthieu 🦋
Aaron Parecki @aaronpk.com · 11/10/2025
I just finished adding BlueSky support to IndieLogin.com! Now you can log in to websites like indieweb.org with your BlueSky handle!
aaronparecki.com
Adding Support for BlueSky to IndieLogin.com
Today I just launched support for BlueSky as a new authentication option in IndieLogin.com!
48518
Matthieu 🦋 @matthieu.bsky.team · 19/09/2025
Good news everyone!
5557
Reposted by Matthieu 🦋
Nick Gerakines @ngerakines.me · 10/08/2025
Ever asked "what happens when you open a browser and enter a website?" The answer depends on who you ask. Some talk desktop apps, others DNS/TCP, some dive into HTML rendering. That's exactly how I'm approaching the ATProtocol OAuth masterclass.
3193
Reposted by Matthieu 🦋
AT Protocol Developers @atproto.com · 13/06/2025
Two types of OAuth client are supported by atproto: "public" and "confidential" This new article digs in to the security trade-offs and safety mechanisms at play, and how they impact different app architectures: TMBs, BFFs, SPAs, etc
github.com
OAuth Client Security in the Atmosphere · bluesky-social atproto · Discussion #3950
The following was written by the Bluesky team as an overview of OAuth client security considerations, especially for client app developers or readers of the ATProto OAuth profile specification. Set...
931945
Matthieu 🦋 @matthieu.bsky.team · 05/06/2025
We are currently working on making ATProto OAuth easier on devs. This proposal is one of steps we are taking to make it happen. Stay tuned...
6220
Matthieu 🦋 @matthieu.bsky.team · 17/04/2025
It would be awesome if starter packs were automatically created from specific @smokesignal.events ! Like, I'm going to the AHOY! conference next week and I'd love to have an easy way to follow everyone else going.
smokesignal.events
AHOY! European Social Web Day 2025 - Bluesky / atproto
Starts at 04/24/25 08:00 am CEST. Join us in Hamburg on April 24, 2025 to build the future of a cooperative, European open social web—a paradigm for a better internet built on decentralization and use...
3281
Matthieu 🦋 @matthieu.bsky.team · 16/04/2025
Excited for the @ahoy.eu conf of next week.
1359
Matthieu 🦋 @matthieu.bsky.team · 01/04/2025
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse. Ibi
6241
Reposted by Matthieu 🦋
Emily Liu @emilyliu.me · 10/03/2025
zuck wearing a shirt that says "aut zuck aut nihil"jay graber, bluesky ceo, wearing a shirt that says "mundus sine caesaribus"
150100811660
Matthieu 🦋 @matthieu.bsky.team · 13/02/2025
🚀 Just released a new version of our TypeScript SDK for Bluesky! This update brings important improvements to the typings of our data model, making integration smoother and more reliable. Learn a thing or two about Bluesky’s API and the AT Protocol in the blog article we wrote for the occasion.
docs.bsky.app
@atproto/api v0.14.0 release notes | Bluesky
Today we are excited to announce the availability of version 0.14 of our TypeScript SDK on npm.
1450853
Reposted by Matthieu 🦋
Deno @deno.land · 25/11/2024
It's done. Now it’s your turn, Oracle. We’ve submitted a formal petition to cancel the JavaScript trademark: it is generic, Oracle has abandoned it, and Oracle committed fraud on the USPTO during the last trademark renewal. It's time to #FreeJavaScript. deno.com/blog/deno-v-...
deno.com
Deno v. Oracle: Canceling the JavaScript Trademark
Oracle is holding the JavaScript trademark hostage, and we’re pursuing legal means to #FreeJavaScript. Here’s a brief update.
21968260
Reposted by Matthieu 🦋
bryan newbold @bnewbold.net · 22/11/2024
#atproto devs and protocol folks! looking for feedback on options for Lexicon Resolution. we have a broad sketch, but still some open questions and truely not sure which way we are leaning
github.com
RFC: Lexicon Resolution · bluesky-social atproto · Discussion #3074
One of the missing pieces in atproto is a mechanism to resolve NSIDs to Lexicon schema definitions. While there are existing workarounds, such as just publishing schemas on projects websites or git...
312924
Reposted by Matthieu 🦋
bryan newbold @bnewbold.net · 09/11/2024
atproto devs! what does an AppView even do? don't have bright lines around them right now, it depends on the "app", but here are some potential aspects!
github.com
What does an AppView implementation entail? · bluesky-social atproto · Discussion #2961
An informal overview of what an AppView does. Similar to #2350, which discussed PDS implementations. This document isn't "normative": AppView implementations are not required to do all of this. It ...
915633
Reposted by Matthieu 🦋
dan @danabra.mov · 05/11/2024
frontend folks, meet atproto folks!
722322
Reposted by Matthieu 🦋
Tee Lopes @teelopes.bsky.social · 03/11/2024
118109761887
Reposted by Matthieu 🦋
patak @patak.cat · 30/10/2024
I just saw @mattpocockuk.bsky.social's post, and I wonder if a flash mob where we all post a 🦋 at the same time in X could make some ripples. As in scheduling a post for tomorrow, October 31, 7 am PST 👀
Matt Pocock posts a butterfly emoji in X
84439139
Reposted by Matthieu 🦋
daniel holmgren 🫠 @dholms.at · 30/10/2024
backbone networking issues with our bare metal provider that screwed up _a lot_ of things looks like things are recovering now. hopefully the core issue is resolved 🤞
1122126
Reposted by Matthieu 🦋
dan @danabra.mov · 29/10/2024
hi to all old friends from twitter! i want to show you this thing: atproto-browser.vercel.app. put your bluesky handle in it and explore :) this should give you some intuition about how this place works under the hood. happy to answer any questions about it!
screenshot of the linked page with at://danabra.mov prefilled into the text field
48819169
Reposted by Matthieu 🦋
Sam Rose @samwho.dev · 23/10/2024
I aliased "want" to "gh copilot suggest -t shell" and it's working really well for me.
A screenshot of my terminal. The command I have run reads: `want to find uses of the variable db in .spec.ts files`. The output is the command: `grep -r "db" --include="*.spec.ts" .`
0236
Reposted by Matthieu 🦋
Martin Kleppmann @martin.kleppmann.com · 26/09/2024
Just realised that it's been 10 years since my "database inside-out" talk (www.youtube.com/watch?v=fU9h...), and now atproto (which Bluesky is based on) is a successful implementation of the idea atproto.com/articles/atp...
atproto.com
ATProto for distributed systems engineers - AT Protocol
AT Protocol is the tech developed at Bluesky for open social networking. In this article we're going to explore AT Proto from the perspective of distributed backend engineering.
516837
Matthieu 🦋 @matthieu.bsky.team · 26/09/2024
Thrilled to be contributing to the incredible protocol that Bluesky is built on 🤩
3805
Reposted by Matthieu 🦋
P(aul) Frazee @pfrazee.com · 14/09/2024
Bluesky makes it possible for users and orgs *outside Bluesky* to label content for misinformation or other issues. You subscribe to these in the app, and can unsubscribe at any time. Stackable moderation is one of our most novel experiments, so I'm excited that @newsdetective.bsky.social is here
bsky.social
Bluesky’s Stackable Approach to Moderation - Bluesky
Today, we’re open sourcing Ozone, a tool that lets a team of moderators or curators collaboratively review reports, create labels, and inspect content on the atproto network. Later this week, we’re op...
882189492
Matthieu 🦋 @matthieu.bsky.team · 29/08/2024
Beaucoup aimé le film de Michiel Blanchart. A voir au cinéma
youtu.be
La nuit se traîne | Official trailer met Nederlandse ondertitels
YouTube video by Lumière Benelux
0100