
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
Joined May 2009
- Tweets5.2K
- Following458
- Followers23.3K
- Likes4.5K
My team is going to be working hard to on 2 – expect big improvements to quality and performance. We have some epic ideas in the pipeline!
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/
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)
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)
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
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.
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.
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…
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.
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-…
We’re going to work to make Octane + Lynx significantly faster than anything else out there. Exciting times
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_ 👌🏽
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.
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 :)
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
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!
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".



















