Dan Abramov
Co-creator of Redux, former React core team at Meta, former Bluesky engineer on the app and AT Protocol, now at Vercel working on Next.js
Señors @ Scale host Neciu Dan sits down with Dan Abramov, co-creator of Redux, veteran of nearly a decade on the React core team at Meta, author of one of the most read frontend blogs, and until recently an engineer at Bluesky working on the app and on AT Protocol, the open decentralized foundation the network runs on. Dan explains the protocol from the hosting layer up: why every app becomes an aggregator over a shared web of JSON, what the network does when someone with millions of followers posts, why Mastodon's instance model is a feudal topology passing messages on horses, how a three-field passport holds your identity, and what it took to move his own hosting to Eurosky. The conversation also covers a SQLite file per user at Bluesky, Constellation and a Bluesky client with no backend, what Vercel could do for the atmosphere, the React compiler as fine-grained reactivity, and Redux as a to-do list of state you haven't found a home for. This is the AT Protocol conversation for engineers who want to understand the protocol before they build on it.
🎧 New Señors @ Scale Episode
This week, I spoke with Dan Abramov, co-creator of Redux, who spent nearly a decade on the React core team at Meta and writes one of the most read frontend blogs. More recently he spent a couple of years as an engineer at Bluesky, working on the app and on AT Protocol, the open decentralized foundation the network is built on. He has since joined Vercel to work on Next.js.
In this episode, we dig into what AT Protocol is and why it is a specification rather than a framework, how it differs from Mastodon, what happens on the network when LeBron James tweets, how identity and hosting are split apart, what it cost him to move his data to a different host, where a developer should start building, and whether Redux still has a job.
⚙️ Main Takeaways
1. AT Protocol is a specification, and the Bluesky app was its proof of concept
He opened by refusing my framing that anyone "should" use it.
- What it is: "It is an internet protocol. One thing that's a bit unusual is that it's not a library, it's not a framework, it's more like a specification." It is now being brought into the IETF, the same standards body that maintains the protocols you already rely on.
- The order things happened in: "It was originally developed as part of the Bluesky app, but the Bluesky app was kind of a proof of concept for the protocol. So it's almost like the other way around."
- The closest existing thing: The RSS era, where blogs published posts and Google Reader aggregated them in one place. "AT Protocol kind of applies this idea to any kind of social application."
- What already runs on it: Tangled, a source code forge where issues and pull requests are stored the same way, plus blogging platforms like Leaflet, Pocket and Offprint. "The apps themselves feel like familiar web apps. It's not a change in paradigm from the user's perspective."
- The layer underneath: Public data attached to the user is lifted out of the apps into a shared layer called the atmosphere. "It's like the web for data, or the web for JSON."
2. Every app becomes an aggregator over the same data
His frame for this section is one shared database that every app queries.
- No cold start: "If you want to launch a competitor to some app, you don't have the cold start problem, because you can start with existing data."
- Products blend: "The boundaries between products also kind of disappear, or products start blending into each other, so they can integrate much more tightly."
- The remix he imagines: A social view that looks at his Bluesky follow graph and shows pull request activity from Tangled for the people he follows.
- The one-line version: "It's as if every application's data exists in the same database and you could query that database. But this database is distributed like the web itself."
- My wrong first guess: I asked whether this means I can build my own RSS-style feed of the two people I want to read. He pushed back: "When I say RSS I mean the shape of it." Apps are lenses onto an open web of data, and a personal feed is one small thing you could make with it.
3. The web has had two phases, and the second one put us in boxes
The short history he gave runs in two phases.
- Phase one: Everyone made their own site. Many places to publish, but no social space. "Your content only appeared on your site."
- Phase two: Centralized services. "Each service is like its own little internet. There's Facebook and it has profiles and comments and everything there. You have a page there that is kind of like your site. But it's inside this box."
- The cost of leaving: "If you leave Facebook, you delete everything that you've made within this box." Reddit and GitHub are separate boxes with the same property.
- Why the boxes exist: "They isolate you to provide aggregation."
- The AT Protocol question: What if the user experience felt the same as a centralized service, with an AT Protocol Reddit or an AT Protocol Stack Overflow, "but under the hood, your data is lifted out to this shared layer, which means that everyone can make new services."
4. Why Mastodon's instances are a feudal topology
He admitted this is easier with pictures; his post "There are no instances in AT Protocol" has them.
- The Mastodon answer: Distribute the application itself. "It's kind of like if every community ran their own copy of Twitter. It's kind of like WordPress in that sense. You set it up, you run it on your server, it's literally the same app."
- Where it leaks: You pick an instance, which is where your account lives. Following someone on another instance means the two servers have to talk. "Mastodon solves this by message passing. These servers kind of email each other almost."
- Why it doesn't scale: "If every instance sends messages to every other instance, it's n squared at worst. The growth scale is kind of n squared divided by two."
- The power problem: "Each box is its own little kingdom ran by the admin of that instance. If they decide to delete you, your identity is gone." Two admins have a beef, and you stop receiving posts from people you follow.
- His picture of it: "I think of it as a feudal, middle age topology, where you have these feudal kingdoms that pass messages to each other on horses."
- The AT Protocol move: The application as a concept couples two things that should have been decoupled. "It kind of cracks the box open."
5. The everything folder: hosting becomes a separate concern
He explained hosting with a Dropbox analogy.
- Twitter, decomposed: There is the hosting part, your tweets, which you can imagine as files in a Dropbox folder, and then a fast-access database that indexes those files.
- The proposal: "You should have one folder for all apps." Pull hosting out of the application entirely. "All your tweets, all your GitHub pull requests, they're like files in subfolders in your everything folder."
- What apps become: Content management systems over that folder. "When you post on Bluesky or create a pull request on Tangled, it goes into that folder. You always have the folder that is the source of truth, in an app agnostic place that isn't owned by any app."
- The consequence: "Somebody who runs an app doesn't have control over your identity. Your identity is hoisted out of the app. Your data is hosted out of the app."
- How you move it: Bluesky signs you up with Bluesky hosting by default, but it is decoupled from the app. He moved to a different host. You can self host: "It's a web server that responds with JSON."
6. What happens when LeBron tweets: one file, then normal web development
The classic Twitter fan-out question splits cleanly across two layers.
- On the hosting layer: "If LeBron was on Bluesky and he tweeted something, it would mean creating a file. There is no, at this point, nothing else happens. It creates one file."
- Where the followers live: A million followers means a million repositories, each holding its own JSON record that says "I follow LeBron". His folder has one file with his latest post.
- The notification: When he posts, his repository emits an event: a post was added, here is its content.
- On the app layer: "The Bluesky app has a server, except that the Bluesky app listens to everything that happens on the network. When it sees that there is a new post from LeBron, it adds it to its database and it does whatever a normal social app would do." Per-user timelines and insert queues included.
- The one thing that changed: How data flows into the app. "Instead of flowing from the browser directly, there's a loop where it flows into the global web and it comes back." After that, "it's normal web development at this point."
7. Relay, firehose and the Bluesky stack
Between fifty million hosts and a thousand apps sits one piece, which he described with hypothetical numbers.
- The problem: "How do you combine signals from fifty million hosts and then turn it into something that's easy to consume for a thousand apps?"
- The relay: Bluesky runs a service that subscribes to WebSockets for every hosting and retransmits events as a single stream. "It's kind of like a crawler or like a retransmitter."
- What it costs: "It's cheap to operate, it's like maybe 30 bucks a month at the current scale. So there are alternative relays that do the same thing. You could run your own relay if you want to."
- How an app consumes it: As a webhook or a socket stream of "this type of content was created, this type of content was deleted", and you change your database accordingly.
- Bluesky itself: A Go backend that is the API server, a React Native web frontend, and the only unusual bit is that it "listens to the firehose of everything that happens on the network and then it writes through its own databases."
- Missing features: I asked why Bluesky has no post scheduling. The protocol doesn't prevent it. "They don't have a lot of features, so it's probably less of a priority." Buffer may support it.
8. Your identity is a passport with three fields
The domain in your handle is an alias, and the identity sits underneath it.
- Handles are aliases: Handles use domains, "but you can change your domain over time. It's not your identity itself, it's kind of like an alias. You can change it without breaking links."
- The passport: A JSON document that says three things: what you are known as, who your current host is, and your public key. "How to verify that whatever's being transmitted is written by you."
- Where it lives, the pragmatic option: The PLC registry, currently operated by Bluesky, being spun out to a Swiss organization to make it neutral. "It's kind of like NPM for identities. But it has no private state. So anyone can replicate it." Every change is signed, so it does not require trust.
- The account ID: A DID, a decentralized identifier. "This is your immutable string that uniquely identifies you in AT Protocol apps that can never change." Most people use did:plc.
- The idealist option: did:web, rooted entirely in the domain, with no registry involved. "But then if you lose the domain, you lose the identity. People do lose domains. So this is why that's not a default."
9. Your repository is only what you created, and links hold it together
He called this the piece the rest of the protocol depends on.
- Followers are not yours: "How many followers you have does not matter at all, because you always host your own data. Your followers are not your data. They're follow records in each of the follower repositories."
- What is yours: "Your repository is the stuff you created. It's your posts, it's your likes. It's not the liked posts. It's the fact that you liked those posts." A repost is the fact that you reposted, with none of the content.
- The scale consequence: "If you follow ten million people, that will be ten million records in your repository."
- How a like points at someone else's post: Links. "Like HTML, it's links to JSON in that repo." That is what the at:// URL is: the address of someone else's JSON. "AT Protocol is kind of like a web of JSON."
- Why moving hosts doesn't break anything: Links are rooted in identity, and identity can swap hosting. "It's kind of like one level of indirection over HTTP. It lives at this user, and this user is currently using this host. It's one extra hop."
10. Moving his hosting to Eurosky took a wizard, a third-party tool and a re-login
We went through a real migration step by step, including the parts he thinks are stupid.
- Naming confusion first: "Eurosky, you would think it's an alternative to Bluesky. But it's how they named the company." He still uses the Bluesky app, with his JSON on a different host.
- Why he did it: "I kinda did it for fun. Why not? Let's see if it works."
- What the wizard does: Downloads his repo from the origin, uploads it to the new host, then with his permission updates the pointer in his identity document. "They need to update my passport, so to speak."
- The paper cuts: Blobs did not move automatically. A third-party tool crawled the images into place, which took around 30 minutes. The app then showed nonsensical errors until he logged out and back in.
- His verdict: "I think it's stupid that this is how it works." There is a proposal for a server-to-server migration endpoint so it can happen without the browser.
- What survived untouched: "All my followers, everything else has stayed exactly the same, because my JSON has moved locations, but my identity is the same, my content is the same."
- On theft: I asked what stops someone stealing your data during a move. "Well, it's all public. There's nothing to steal. That's kind of the point of AT Protocol." Permissioned data is a separate thing they are working on.
11. Hosting is cheap because apps are the cache
He walked through the numbers for a single-user host.
- Who hits your server: No one hits your server when someone views your post. "Bluesky is the cache. Each application is like a cache of the entire network filtered down to what's relevant to the app."
- Hosts never talk to each other: "My hosting and your hosting, they never need to talk. Yours holds what's yours, mine holds what's mine."
- Bluesky's implementation: "Bluesky's default hosting implementation is a SQLite file per user. So they have 50 million SQLite files somewhere."
- Self hosting prices: An experimental PDS on Cloudflare Workers can run for free. On a VPS, "maybe a dollar in a few months". Pool with ten people and it is ten times cheaper.
- What he would pay for: "I would love a hosting with automatic backups. If they add that, I'll happily pay three bucks a month or something."
12. Incumbents won't adopt it, and the early adopters don't need them to
I asked how a company that can't lock in the data makes money.
- What platforms sell: Attention and aggregation, since the data itself is usually public or scrapable anyway. An AT Protocol app can run the same model.
- What changes: User mobility. "If they hate what you're doing with the product, someone could essentially fork your product." Forking is easy when the product is open source, and with closed source someone has to re-implement it, "but the data is there."
- Why Reddit won't care: "Would AOL be interested in a fairer internet? Would Netflix be interested in more open copyright? Would Microsoft be interested in open source? If you asked it in the nineties, someone would confidently say no. And now Microsoft has rebuilt its entire business in open source."
- The developer angle: "Now you can build products in this dynamic way where you can cooperate with your competitors." Leaflet and Offprint agreed on a shared data format, so subscriptions work across both and an aggregator shows articles from all of them.
- The timeline he expects: Enthusiasts first, then one app popular enough that others want to integrate, then "maybe in a couple of decades" users understand they are on the atmosphere and expect products to blend.
13. Why his own blog is only half on AT Protocol
He has thought about every option for overreacted.io and picked none of them yet.
- Gatsby is gone: "I don't think it even works now. I moved to Next."
- Option one, empty records: Publish a record per article with title, timestamp and link, in the RSS shape. Aggregators using the Standard Site format would pick them up. The friction is that a static markdown site has no natural moment to sync a new post into the repository.
- Option two, move the source of truth: Host the articles in the repo and make the blog one reader among many. He won't, because his articles contain React components and interactive pieces, so "another reader wouldn't display it faithfully anyway."
- A like button: "When you press like on the article, it writes a record of some type, maybe overreacted like type," and the blog listens for those records. That means adding some dynamism to a fully static site, because "if you like it you want it to appear immediately."
- Comments, three ways: His own comment type that lives in each commenter's repository, piggybacking on the Bluesky post for each article via the Bluesky API, or "the true AT Protocol way", listening to the relay himself without touching the Bluesky API at all.
- On people still embedding Twitter: "Don't you feel like in a box if you're staying on Twitter? There's some guy who can tell you that the API now costs two times more or can break your widget." Twitter comment widgets died around four or five years ago when the pricing changed. "I don't understand how you can tolerate this rent seeking behavior on the stuff that you created."
14. Where a developer should start building
His answer runs from the docs to a tool I had not heard of, Constellation.
- Read first: atproto.com, which "was kind of neglected for a while, but it's gotten better," with guides and tutorials.
- Then open PDSLS: PDS is a personal data server, the name for hosting, and ls is the Unix command. Put in a handle like danabra.mov and it shows the whole repository by collection: Bluesky posts, Bluesky follows, Tangled pull requests, Leaflet publications. He uses it while debugging, and sometimes as an editor: "I can use PDSLS as a CMS, literally edit my JSON and it shows up in my apps."
- Your own format is the easy case: His Trails app stores step-by-step walkthroughs in its own record type. All it needs is something like Tap to filter the relay down to the types it cares about.
- Projecting existing data is the hard case: "You can clone the entire network. It's gonna be terabytes or something." Someone is building a shared archive of the atmosphere so new apps can bootstrap from one place. A week's sliding window is cheaper: leave it running for a week.
- Single-player apps need no index: If users post and nothing aggregates, "you can directly use hosting as your data storage."
- Constellation for light social features: A community-maintained backlink index over all JSON links. Ask it for every profile with a follow record for a person, or every like on a post. There is a Bluesky client with no backend that talks only to Constellation. "It has to resolve in stages, but it doesn't have a backend."
15. Vercel, the box problem, and what he wants from Next.js
I asked whether he would sneak some AT Protocol into Vercel. The brand gets in the way.
- The parallel universe: "It's like I'm in a parallel universe where I've seen the internet, but I'm in the universe where everything goes through AOL. It doesn't have to be this way."
- How Bluesky reads to that crowd: "Twitter for the lefties, or where angry people are." He thinks that has partly poisoned the brand, which annoys him because "technologically it aligns with the web so much."
- The technical blocker: Serverless hosting is the blocker. "Who's gonna listen to the WebSocket? That is the part that you have to host somewhere else." He would love hosting AT Protocol apps on Vercel to be easier, or indexes that make backfilling easier, and thinks Cloudflare moving first might create the argument.
- His role on Next.js: "I can play the role of the man who shakes fist at the cloud and says, this sucks, this sucks, and help the team." On where it stands: "I like using it, but I don't like-like using it yet. I love the ideas in it. I think the execution is not there at the moment."
- Turbopack vs Vite: The 16.3 preview is "up to 90% less memory usage", from a local server that could hit 20 gigabytes of RAM down to around two. On Vite's original approach: "The whole we don't bundle in dev was completely crazy and a bad technological foundation to build on." The Vite team changed their minds, "but they changed their minds in like the third or fourth year," which he thinks was too late.
16. The React compiler is fine-grained reactivity, and Redux is your to-do list
He closed with two opinions, one on the React compiler and one on Redux.
- On fine-grained reactivity: "React has fine-grained reactivity now. You can use the React compiler. If you look at it from a language perspective, it's literally implemented as a sort of fine-grained reactivity at compile time. You don't like the mechanism, because it's built on functional principles."
- Where it falls short: A fast-changing value high in the tree, consumed by leaves deep below, with nothing in the middle caring. React could use a primitive to wrap that as an opaque thing and unwrap it at the bottom. "This is something that the team has looked at and maybe we'll come back to."
- The compiler at Bluesky: He enabled it as a consumer. "We had maybe one bug caused by it, which was later resolved. It cut down re-render times."
- Redux today: "If you store something in Redux, it means that you haven't found a better place for it, and you should." UI state belongs in React state, server data in a server cache like React Query or in the props a server component hands you, and a stateful external system with imperative logic becomes a JavaScript class wired in with useEffect or useSyncExternalStore.
- The line: "I don't understand state managers. I don't know why people use Redux or Zustand or whatever. Over the last five years, I've never needed them."
🧠 What I Learned
- AT Protocol is a specification headed into the IETF, and the Bluesky app was built to prove the protocol out.
- The RSS shape is the right starting point: apps are aggregators over a shared web of JSON, so a new app starts with the network's existing data instead of an empty database.
- Mastodon distributes the application, which leaves you with n squared message passing and an instance admin who owns your account, while AT Protocol splits hosting from the app so no admin owns your identity.
- A post is one JSON file written to the author's repository. Fan-out and timelines happen in the app layer and are normal web development.
- A follow record lives in the follower's repository, so your follower count costs you nothing to host.
- Likes and reposts store the fact of the action with a link to the target, and that at:// link resolves through identity, so changing hosts breaks nothing.
- Your identity is a three-field passport: alias, current host, public key. did:plc stores it in a replicable registry; did:web ties it to a domain you can lose.
- Bluesky's relay costs around 30 dollars a month to run, so alternative relays exist.
- Bluesky stores a SQLite file per user, around 50 million of them, because apps cache the network and hosts never talk to each other.
- Self hosting a PDS runs from free on Cloudflare Workers to about a dollar over a few months on a VPS, and pooling with ten people divides that by ten.
- Migration works today through a browser wizard, but blobs may need a separate tool and the app may need a re-login until the server-to-server endpoint lands.
- Constellation, a community backlink index, is enough to build a Bluesky client with no backend, and PDSLS doubles as a CMS for your own repository.
- Serverless platforms can't hold the WebSocket a relay consumer needs. That is the blocker for AT Protocol apps on Vercel today.
- The Turbopack 16.3 preview cuts memory use by up to 90%, and Dan thinks Vite's no-bundle dev server was the wrong foundation and was fixed too late.
- The React compiler is fine-grained reactivity implemented at compile time, and it ran at Bluesky with roughly one bug.
- Anything in Redux is state waiting for a better home: React state, a server cache, server component props, or useSyncExternalStore.
💬 Favorite Quotes
"It's not a library, it's not a framework, it's more like a specification."
Dan Abramov
"Each service is like its own little internet."
Dan Abramov
"I think of it as a feudal, middle age topology, where you have these feudal kingdoms that pass messages to each other on horses."
Dan Abramov
"You should have one folder for all apps."
Dan Abramov
"Your followers are not your data."
Dan Abramov
"Well, it's all public. There's nothing to steal. That's kind of the point of AT Protocol."
Dan Abramov
"Would AOL be interested in a fairer internet?"
Dan Abramov
"I don't understand how you can tolerate this rent seeking behavior on the stuff that you created."
Dan Abramov
"I can play the role of the man who shakes fist at the cloud and says, this sucks, this sucks, and help the team."
Dan Abramov
"If you store something in Redux, it means that you haven't found a better place for it, and you should."
Dan Abramov
🎯 Also in this Episode
- Why I want LinkedIn on AT Protocol, and sifa.id, the early attempt at exactly that
- Rate Your Music as the app he wishes existed on the protocol, and Popfeed, the reviews app that already does
- Why most AT Protocol apps are "let's make X but on AT Protocol" built by enthusiasts, and why Leaflet, which started as a plain blogging app and adopted the protocol later, is the better pattern
- Co-Core, a leaderboard for sharing local LLM compute, as a new category of app he wants more of
- Older services adding the atmosphere as a login option first, the way you connect a Google account, before layering social features on top
- Trails, his own app for step-by-step walkthroughs stored as a custom record type
- He was never involved with the React Foundation, is not active on the React team right now, and expects to fix React bugs again because a lot of Next.js issues are React issues
- His book pick, Terence Tao's Analysis I, a math textbook that builds everything from first principles, with a Lean companion repo for people who would rather prove A + B = B + A in code
Resources
More from Dan Abramov:
- overreacted.io: his blog, now on Next.js
- There are no instances in AT Protocol: the post with the pictures that explain the Mastodon difference
- Dan on Bluesky: danabra.mov
Tools & concepts mentioned:
- atproto.com: the official docs, guides and example projects
- PDSLS: a repository explorer for any AT Protocol handle
- Constellation: a community-maintained backlink index over all records
- Tap: keeps your app's index in sync with the relay for the record types you care about
- Eurosky: the hosting he moved his data to
- PLC registry: the directory that stores did:plc identities, being spun out to a Swiss organization
- Tangled: a source code forge on AT Protocol
- Leaflet, Pocket, Offprint and Standard Site: blogging platforms and the shared article format they agreed on
- sifa.id, Popfeed, Co-Core and Trails: newer apps on the protocol
- Turbopack, Vite, React Compiler, React Query, useSyncExternalStore and Zustand: the frontend end of the conversation
Books mentioned:
- Analysis I by Terence Tao, plus its Lean companion on GitHub
🎧 Listen Now
🎧 Spotify
📺 YouTube
🍏 Apple Podcasts
Episode Length: 67 minutes on AT Protocol from the hosting layer up, the everything folder, passports and PLC, what LeBron's tweet does to the network, moving hosts, building with Constellation and PDSLS, and where Next.js, the React compiler and Redux sit in Dan's head today.
Whether you have written Bluesky off as a Twitter clone or you are already scheming a Tangled integration, this one gives you the whole protocol in an hour.
Happy aggregating,
Dan
💡 More Recent Takeaways
Señors @ Scale host Neciu Dan sits down with Carson Gross, creator of HTMX, principal at Big Sky Software, and computer science professor at Montana State University. Carson has been programming for more than 30 years, from HyperCard on a family Mac to Excel macros for an industrial engineering firm, a JVM language called Gosu, a Rails startup, and the 2012 library Intercooler.js that he rewrote without jQuery during COVID and released as HTMX. His argument is that the web was built as a hypermedia system, that links and forms are control logic living inside the document, and that most of what we call REST today fails the one constraint Roy Fielding cared about. He also covers which apps HTMX is wrong for, what changed in HTMX 4 and why 3 was skipped, and why his students now sit pencil and paper exams. It is a conversation about using the browser as the hypermedia client it was built to be.
Señors @ Scale host Neciu Dan sits down with Ryan Townsend, Principal Product Manager for Performance at Cloudflare, where he owns real user monitoring and the wider performance measurement remit. Ryan has over 20 years in web technology and a decade as a CTO: he co-founded Shift Commerce, the first enterprise scale headless SaaS, and was CTO of Matalan Direct after the business he built came second in Shopify's Build a Business competition with only three months of trading. We cover why the 'Rails doesn't scale' story was always a myth, the resume driven development he kept finding as a fractional CTO, the personalization script that claimed zero performance impact and cost seconds at P90, and how Shift ran over 99% cache hit ratios by splitting the anonymous page from the basket.
Señors @ Scale host Neciu Dan sits down with Szymon Chudy, Software Engineer at Netflix on the Hawkins team, which builds the design system behind thousands of internal applications used to produce the shows you watch. Before Netflix, Szymon spent two and a half years at Lokalise, growing from senior to staff frontend engineer and leading frontend direction across teams, and before that he toured Poland as a reggae guitarist while freelancing as a web developer in the off season. From why the source of truth for a design system lives in code, to Hawkins Consumer versus Hawkins Professional, to the UI paved road that changes what freedom and responsibility mean at Netflix, to measuring the team on adoption rate and shipping codemods and agent skills for every breaking change, to what being an informed captain who farms for dissent means in practice, this is the design system conversation for anyone maintaining a platform other engineers have to choose to use.
Señors @ Scale host Neciu Dan sits down with Vilva Athiban, Lead AI Engineer at Omio, one of Europe's leading travel platforms, where he architects and ships agentic AI systems in production. Vilva designed and delivered Omio AI, along with the MCP integrations that connect AI agents to the company's systems. He never set out to switch from JavaScript to AI: in June 2024 Omio picked two people to start an AI team reporting to the CEO and CTO, and he learned on the job, from his first API call to an LLM up to a consumer-facing agent whose backend runs on nothing but MCP. From why a bigger model with medium thinking came out cheaper than the mini, to capping tool calls because LLMs are built for token maxing, to the whale hunting request that showed his team guardrails are subjective, this is a conversation about what production agentic systems look like once the tutorials run out.
📻 Never Miss New Takeaways
Get notified when new episodes drop. Join our community of senior developers learning from real scaling stories.
💬 Share These Takeaways
Want More Insights Like This?
Subscribe to Señors @ Scale and never miss conversations with senior engineers sharing their scaling stories.