Log inSign up
Dominic Gannaway
5,099 posts
user avatar
Dominic Gannaway
@trueadm
I'm an engineer @OpenAI. Author of @ripple_ts, @lexicaljs and @inferno_js. Former @reactjs core engineer, and core maintainer of @sveltejs at @vercel.
London
github.com/trueadm
Joined May 2009
445
Following
21.6K
Followers

New to X?

Sign up now to get your own personalized timeline!

Create account

By signing up, you agree to the Terms of Service and Privacy Policy, including Cookie Use.

Terms·Privacy·Cookies·Accessibility·Ads Info·© 2026 X Corp.
Don't miss what's happening
People on X are the first to know.
Log inSign up
  • user avatar
    Dominic Gannaway
    @trueadm
    Apr 13, 2022
    Lexical is now open-source! 🎉github.com/facebook/lexic… None of this would have been possible if it wasn't for the awesome team that work on Lexical full-time! I hope folks get a chance to play around with what we've spent the last 18 months building.
    GitHub - facebook/lexical: Lexical is an extensible text editor framework that provides excellent...
    From github.com
  • user avatar
    Dominic Gannaway
    @trueadm
    Sep 13, 2025
    I created RippleJS because open source is about sharing new ideas. You don’t have to like it or agree with any of those ideas. That’s the beauty of open source. However, enough people asked me to share it and that’s why it’s now a thing. :)
    user avatar
    kitze the 🐐
    @thekitze
    Sep 13, 2025
    react's ecosystem is so big that i give 2 shits about ripplejs inventing new frameworks died long time ago let it go
    230K
  • user avatar
    Dominic Gannaway
    @trueadm
    Mar 28, 2023
    I’m excited to share that I will be joining Vercel next week. I’ll be joining the awesome folks on the Svelte core team! 🔥
    237K
  • user avatar
    Dominic Gannaway
    @trueadm
    Feb 23, 2023
    I’ve been working on a new React-like framework in my spare time. It’s fully compiler driven, there’s no virtual DOM, or component re-rendering. There are signals, but they’re never exposed to the developer and they’re also fully compiled to avoid any runtime lookups. And…
    387K
  • user avatar
    Dominic Gannaway
    @trueadm
    Dec 19, 2021
    We've been building Outline – an extensible text editor library that does things differently. If you use facebook.com or workplace.com, you've likely already used it. We're expecting to open source it early 2022. Website coming soon: outline.dev
  • user avatar
    Dominic Gannaway
    @trueadm
    Sep 13, 2025
    Replying to @thekitze
    I didn’t create Ripple for you to give a shit. I created it so others that like it care about this stuff give a shit. :)
    46K
  • user avatar
    Dominic Gannaway
    @trueadm
    Dec 26, 2016
    I'm excited to announce that I'll be joining Facebook and the React team next month!
  • user avatar
    Dominic Gannaway
    @trueadm
    Jun 2, 2018
    I recently spent 2 days on a hackathon project to see if it was possible to render React to HTML at build time with Prepack. I focused on getting our Hacker News benchmark, written in React, working and passing tests. The results were very interesting! github.com/trueadm/ssr-wi…
  • user avatar
    Dominic Gannaway
    @trueadm
    Dec 24, 2017
    I personally think that 2018 will be the year that JavaScript frameworks start to become JavaScript compilers. Here's a sneak peak at what we've been working on in collaboration with the Prepack team: goo.gl/KeUzXG
  • user avatar
    Dominic Gannaway
    @trueadm
    Oct 13, 2025
    I'm excited to share that I have joined Attio as a Principal Product Engineer. 🎉
    68K
  • user avatar
    Dominic Gannaway
    @trueadm
    Oct 13, 2022
    For those that don’t already know, I left the React Core team at Meta 2 years ago. Why? I wanted to work on a different problem that is essential to the web — rich text editing/authoring. Specifically around web’s contentEditable.
  • user avatar
    Dominic Gannaway
    @trueadm
    Apr 21, 2023
    The problem here isn’t the editor, it’s the browsers’ interpretation of the Selection API around contentEditable. It’s almost impossible to build a decent text editor around contentEditable today - there are so many edge cases battling against you.
    user avatar
    Niki “No Longer Here” Tonsky
    @nikitonsky
    Apr 20, 2023
    I wonder why no app has figured rich text editing yet. It’s really simple: you allow two positions on block boundary, one inside and one outside.
    00:00
    157K
  • user avatar
    Dominic Gannaway
    @trueadm
    Sep 27, 2023
    It's a shame that JavaScript getters/setters on object literals (inside a closure) perform so poorly compared to getters/setters on classes. The difference in all JS VMs is huge – as much as 80x difference in some cases.
    Code snippet:

// Object literals in a closure
function create_item(initial) {
    let x = initial;

    return {
        get x() { return x },
        set x(val) { x = val }
    };
}

// Class based approach
class Item {
    constructor(x) {
        this._x = x;
    }
    get x() { return this._x }
    set x(val) { this._x = val }
}

function create_item_class(initial) {
    return new Item(initial);
}
    119K
  • user avatar
    Dominic Gannaway
    @trueadm
    Aug 28, 2025
    I've open sourced Ripple! github.com/trueadm/ripple It's super early days, not much works and there's little to no documentation or guidance. Plus the codebase is raw, but I at least wanted to share my ideas with the community. :)
    59K