I'm a frontend engineer @OpenAI. Author of @octanejs, @ripple_ts, @lexicaljs and @inferno_js. I was also a core engineer who helped build @reactjs and @sveltejs

London
Dominic Gannaway retweeted
Goose: my latest programming language. Safer, faster and less memory than Rust/C++ for algorithms where tightly packed, flat data structures matter. It can represent more kinds of data structures as flat, pointer-free bytes than any language I know. github.com/aardappel/goose 1/
111
157
1,378
141,673
I think there’s still a big difference in human vs AI slop. One tends to be illogical and the other is logical but the wrong path. Humans take paths to exploring problems. With specifically LLM AI, it just does what it thinks is best reward worthy to resolving the problem needed to give the best token output. You could say that it’s like a human cutting corners, but the best engineers never do that. Humans reward peer feedback and getting better and getting a promotion, or not getting sacked. If LLMs had that mentality then maybe we’d have less slop.
it's very interesting how many replies i've gotten about maintainability and clean code being still important. i would argue that that is no longer true and we all need to update our priors on what Good Code really means in 2026. clean code has always come at a cost - performance. indirection and making code readable/understandable for a human is not free, it often comes at the cost of worse performance. we have historically been okay with this because of Moore's Law and the fact that most code is not on the hot path. these principles also came from a time where humans maintained code. it made sense to optimize for humans then, but it makes less sense now when agents are already writing all the code. we will in fact probably discover and come up with new principles: principles of agent friendly architecture (i plan to write more thoughts about this soon)
13
3
92
8,421
Dominic Gannaway retweeted
Which Rust TypeScript fork is the fastest? I benchmarked 3 different ones in Framer's monorepo. The results: 🏆 tsrs: 5.5s, 2.6 GB RAM (v0.5.0) 🥈 bun check: 7.3s, 1.6 GB (v1.4.3-canary.1) 🥉 tsc-rs: 10.3s 8, 7.1 GB (v0.1.0) tsgo: 25s, 10 GB (v7.0)
17
13
245
46,133
TSRX usage has grown by almost 2x in the last month. Which means we’re soon to be eligible to be included in Linguist - the code highlighter for GitHub! We’re also close to having TS 7.1 support, a major stepping stone towards TSRX 1.0
4
7
158
36,307
I can’t disagree with this more. Software engineers might not write the code anymore, but there is definitely a bar in terms of quality. You either ignore it in review because you don’t think it matters or you don’t understand the changes. We’re not there yet in terms of that cycle.
Best part of AI is shattering dev's egos, the worst part of this industry. You are not special. Your code actually sucked like everybody else's. You were never the smartest person. The things my sales guy BIL and designer brother are doing is beyond anything I have done.
26
8
319
29,884
We're cooking at OpenAI :) Can't wait to share more about the stuff we're working on and what it means for the web and our products.
Strongly agree here that when we get this right we will unlock some truly incredible patterns and performance wins. Streaming async signals from first paint to pre hydration to post hydration is a huge unlock.
6
6
150
17,035
The irony is that Octane now has its own signals implementation that strives to do server-side streamed signals, avoiding hydration and pathing a way to even more peformant patterns. We'll be sharing more about this soon.
I can't believe it has taken me this long to get to read this absolute gem of a discussion between @RyanCarniato and @trueadm while most folks are still stuck on "use react because it's in the weights", both ryan and dom are as usual uncovering the frontiers of modern tooling for agentic engineering i've still only read the summary, can't wait to dig into the full discussion gist.github.com/aleclarson/0…
6
1
106
21,077
Dominic Gannaway retweeted
new post: the senior engineer death spiral sunilpai.dev/posts/the-senio… a friend just started a big job and asked for some advice. so I braindumped a monologue about a super common failure mode I see with engineers and posted it here, hope it helps whoever it can.
280
641
7,292
1,850,699
As we prepare TSRX for 1.0, we’ve decided to remove “lazy destructuring”. This reflects the direction we want to take TSRX: an extension of JSX, rather than an entirely new language. We’ve written more about the reasoning behind the change here: tsrx.dev/blog/removing-lazy-…
9
6
108
20,870
Dominic Gannaway retweeted
It looks like ChatGPT and Codex now support TSRX syntax highlighting!
1
2
30
1,831
We’re going to work to make Octane + Lynx significantly faster than anything else out there. Exciting times
Thanks for asking! I have an internal bench and @octanejs is already ahead on js-framework. Yet @trueadm and I think it's far its ceiling: instead of using the universal renderer, we should compile specifically for Lynx. Codex on it. Stay tuned!
5
3
67
6,358
Dominic Gannaway retweeted
Martin Ødegaard this season so far : - mØtm vs Man City - mØtm vs Coventry City - mØtm vs Chelsea - mØtm vs Napoli 4 goals in 5 games. Returned sharp and fit from the World Cup. He was sensational tonight again. Scored some top goals this season. BravØ. @OnlyWilo_ 👌🏽
142
3,076
29,248
445,440
Dominic Gannaway retweeted
I asked GPT-6 Astra to mine a diamond in Minecraft using computer use, then went to sleep. Woke up to a diamond in its inventory 🤯🤯🤯 Setup in the replies.
465
402
13,385
4,472,854
Welcome to the team! We get to work together again!
life update: after 4 incredible years at Vercel leading the Next.js and React teams, I’m joining OpenAI to work on Codex as an IC. ChatGPT and Codex have completely changed how I build. Getting the chance to help shape where this goes next was too exciting to pass up. I learned an absurd amount at Vercel, and I’m excited to bring some of it with me. onwards :)
1
2
109
12,946
Dominic Gannaway retweeted
a little project i've been working on over the past couple weeks to create and download your own handwritten font to add a bit more personality to your work pothooks.com
48
52
637
37,021
TSRX finally has its own Github repo github.com/tsrx-org/tsrx It started off as something that lived in the Ripple repo, as we broke it apart from Ripple itself. It's now far outgrown Ripple alone though so it's made sense for it to have its own trajectory. Thank you @leonidas_bt for all the hard work into making it happen!
5
15
172
19,148
I've mostly done a U-turn on writing content with AI after have so much pushback for the content on the homepage of the Octane website. I was too busy moving fast to realise, after reading my tone in the Lexical and Inferno docs, that it wasn't reflecting the team or the project. Plus it's quite nice to write something for once other than prompts.
Replying to @RyanCarniato
When a human writes it, there's a rawness, and emotion to the tone. There's slight bias, there's accent, there's a unique word tone that the person writing has that makes you think "Ah, that's Dominic, or that's Ryan".
8
2
111
8,218
This is exactly the reason why I created Octane. I mean Octane is still in its infancy, and we're exploring new and exciting ways to make it better. Not only for humans but more increasingly, for agents and LLMs. Hard constraints are now more important than ever, escape hatches are a thing designed for humans. However, they're terrible for agents, as they'll overreach into these areas and use them as the fast-path. That's why Octane has "use strong" to enforce the compiler to deny the escape hatch. Anyway, subsequently I talk about this on a gist with @RyanCarniato if folks are interested gist.github.com/aleclarson/0…
Much love to the Solid team and congrats on launching Solid 2! Cursor has largely completed this migration from Solid to React. We also have since converted all our scss and Tailwind to @stylexjs, in both Cursor and in @bot. The new agents window is 99% React, with a few stragglers left that we have yet to migrate. The big motivation for this migration was for perf and maintainability reasons. We have seen that in practice, it is actually quite easy to create perf footguns for yourself in signal based approaches when reactivity causes a large amount of accidental fan out in large and complex apps. It probably was a skill issue. But in the age of agents, choosing what pitfalls you're okay with is an important decision. I think it's fair to say that every UI framework has its pitfalls and that no perfect one exists yet. For us, React was the most known quantity, and we found that solving its problems is actually quite straightforward and boring: exactly what you want when you're trying to ship! Something interesting I also observed is the uncanny valley effect of non-React frameworks looking like React. I think it confuses agents, because in my experience, agents were quite bad at writing good Solid code. Everything ended up being accidentally tracked which caused so many perf problems. React Compiler solves most of your perf problems with over-rendering. The remaining cases just take some manual memoization or refactoring/composition, which an agent can easily do. The nice thing about useEffect is that it's like an unsafe {} block in Rust: it shows me at a glance where the problems are. @bot (which is 100% React) is built on Dune, our in-house, agent friendly React framework for desktop apps, which actually bans useEffect outright and only exposes it indirectly through framework-provided hooks. Highly recommend setting something like that up for yourself!
5
5
108
12,679