frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Open in hackernews

Vidact – a compiler that turns React into direct DOM operations

https://www.vidact.dev/
10•mohebifar•2h ago

Comments

mohebifar•2h ago
I started Vidact as an experiment 6 years ago, an experimental compiler that takes React-style function components and hooks and compiles them into direct DOM operations. The basic idea is: keep React's programming model, but replace its runtime model.

It was a very ambitious project back then, but recently, another project I was working on (grep.codemod.com) inspired me to rebuild this and I thought of using React compiler's analysis this time as it has already done most of the heavy lifting.

With Vidact, a component runs once when it mounts. The compiler analyzes which expressions depend on which values and generates static update functions for them. When state changes, it directly updates the affected text node, attribute, conditional range, or list item.

So instead of:

state change -> rerender component -> create element tree -> reconcile -> mutate DOM

it's closer to:

state change -> run compiler-selected updater -> mutate DOM

There is no Virtual DOM, no reconciler, no runtime dependency tracking, and React itself isn't shipped to the browser.

The compiler is written in Rust and uses React Compiler's analysis infrastructure for AST/scope/HIR/CFG/SSA and dependency information, but Vidact has its own IR, DOM code generator, and runtime.

I've also been experimenting with the same model for SSR/hydration and built Vidact Start around it, with file-based routes, loaders, SSR, hydration, and client navigation.

One design decision I'm particularly interested in feedback on: Vidact fails compilation when it encounters React behavior it can't preserve rather than silently falling back to React or a slower runtime path. It's therefore intentionally a subset of React today.

It's beta and there are definitely compatibility edges left to explore. I'm especially interested in cases where React semantics make static compilation fundamentally difficult, rather than just features I haven't implemented yet.

Site: https://www.vidact.dev/

Source: https://github.com/mohebifar/vidact

akagusu•1h ago
Is this for real?
mohebifar•1h ago
It is real but still experimental. Gotta test it in small apps first. I will move grep.codemod.com (currently vanilla js) this week to Vidact to try it out in production.
LoganDark•1h ago
Please don't use LLMs for landing pages. Regardless of how long you've been developing the project, many people base their first impressions on whether a real person curated the documentation and website. And if you didn't, then they might never even get to evaluating your code at all.
mohebifar•58m ago
Thanks. I totally hear you and that makes sense. Content is not my forte and I get lazy when it comes to that. Will improve it.
ramon156•19m ago
something that i realisr with LLM-generated content is that I just get more confused every sentence. HOW does it work? WHAT does it do?

When I see technology I want to figure out what it CAN'T do. For example, Rust can do web, but I wouldn't use Rust if I get to choose a simpler language.

Muse Spark 1.3

https://developer.meta.com/ai/models/muse-spark/
287•bvaldivielso•3h ago•198 comments

Gemini 3.8 Flash and 3.8 Flash Cyber

https://blog.google/innovation-and-ai/models-and-research/gemini-models/3-8-flash-and-3-8-flash-c...
750•bratao•7h ago•449 comments

Google avoids a breakup of its ad tech business

https://www.nytimes.com/2026/09/02/technology/google-ad-tech-remedies.html
186•donohoe•7h ago•103 comments

Reverse Engineering Unknown File Formats with ImHex

https://werwolv.net/posts/file_format_reverse_engineering/
58•carlos-menezes•2d ago•4 comments

Fable 5.1 World Modeling

https://github.com/PhiloLabs/fable51-worlds
92•surreal_•2h ago•29 comments

Launch HN: RonanRX (YC S26) – Personalized Peptides and GLP-1s

https://ronanrx.com/
4•lloydarmbrust•9m ago•1 comments

Three sites made 215,128 “best software” pages for AI. Perplexity cites them

https://trellner.com/reports/manufactured-sources-behind-ai-recommendations/
266•jakobgreenfeld•8h ago•121 comments

Altair Basic Interpreter Source Code (1975) [pdf]

https://images.gatesnotes.com/12514eb8-7b51-008e-41a9-512542cf683b/34d561c8-cf5c-4e69-af47-3782ea...
33•Eridanus2•2h ago•10 comments

Nango (YC W23) is hiring across eng, product and GTM (SF and remote)

https://nango.dev/careers
1•bastienbeurier•1h ago

Wendell Berry has died

https://www.nytimes.com/2026/08/31/us/wendell-berry-dead.html
110•Curiositry•1d ago•52 comments

Can I opt out of my input or output data being used for training?

https://help.mistral.ai/en/articles/455207-can-i-opt-out-of-my-input-or-output-data-being-used-fo...
348•teekert•10h ago•151 comments

Engineering of the fastest WebAssembly interpreters

https://wasmi-labs.github.io/blog/posts/wasmi-v2.0/
14•herobird•1d ago•0 comments

Uber shuts operations in Nigeria and Uganda with immediate effect

https://www.bbc.com/news/articles/c86xpv8l9y9o
12•yakkomajuri•58m ago•2 comments

Qantas Airbus A380 engine failure in 2010 (2023)

https://admiralcloudberg.medium.com/a-matter-of-millimeters-the-story-of-qantas-flight-32-bdaa62d...
60•gumby•4h ago•33 comments

Earth's organisms developed via evolution. What if the cosmos did, too?

https://www.smithsonianmag.com/science-nature/earths-organisms-developed-via-evolution-some-theor...
32•JulianPGough•4h ago•20 comments

Biggest dark matter detector spots a single weird particle

https://www.science.org/content/article/world-s-biggest-dark-matter-detector-spots-single-weird-p...
219•randycupertino•9h ago•69 comments

I wanna live an NPC life

https://signalundefied.bearblog.dev/i-wanna-live-an-npc-life/
150•conferza•2h ago•142 comments

Embedded Rust RTOS vs. C RTOS

https://tweedegolf.nl/en/blog/65/async-rust-vs-rtos-showdown/
45•kooi•4h ago•21 comments

Exit the Cave

https://turtlespace.blog/p/exit-the-cave
194•akkartik•8h ago•61 comments

Mamdani Bans AI in NYC Schools

https://www.nytimes.com/2026/09/01/nyregion/ai-ban-schools-nyc.html
99•handfuloflight•1h ago•54 comments

Commodore 64 released September 1, 1982

https://dfarq.homeip.net/commodore-64-released-september-1-1982/
312•giuliomagnifico•14h ago•162 comments

Aging Brains Blend Memories Together Instead of Just Forgetting Them

https://studyfinds.com/aging-brains-blend-memories-together-instead-of-forgetting-them-study-finds/
173•mdp2021•9h ago•80 comments

Product Backlog Problems: Why Your Hierarchy Is Broken

https://www.prodpad.com/blog/backlog-hierarchy-problem/
9•adrianhoward•2d ago•1 comments

A Selection of Los Alamos Rolodex Business Cards

https://clui.org/collections/los-alamos-business-cards/selection-cards
128•1970-01-01•2d ago•28 comments

Making the Internet Boring

https://cemrehancavdar.com/2026/08/30/making-the-internet-boring/
59•zdw•3d ago•36 comments

Show HN: OwnTime – a chess clock for your day's priorities

https://owntime.app/
14•fmos•1d ago•4 comments

We could save petabytes of cache storage with Zstandard and Pingora

https://blog.cloudflare.com/cache-transcoding/
50•torutofu•1d ago•19 comments

Poisson Disk Sampling

https://stripeacross.com/posts/poisson-disk-sampling/
115•vismit2000•8h ago•17 comments

WebLLM: high-performance in-browser LLM inference engine

https://github.com/mlc-ai/web-llm
79•saikatsg•8h ago•17 comments

Vidact – a compiler that turns React into direct DOM operations

https://www.vidact.dev/
10•mohebifar•2h ago•6 comments