The latest @foldkit Blocks + Effect Layers preview is ready. Getting closer to being ready for main.
The reduction in boilerplate and wiring compared to the stable API is pretty striking!
Migration guides and copyable agent prompts in the linked PR.
github.com/foldkit/foldki…
The reduction in boilerplate and wiring compared to the stable API is pretty striking!
Migration guides and copyable agent prompts in the linked PR.
github.com/foldkit/foldki…
3
3
81
2,535
This preview release includes cleaner updates and Step helpers, more child Binding options, better testing helpers, and TypeScript/runtime performance improvements. Remaining limits are documented.
Thank you to everyone testing the previews. Your feedback is driving this iterative process. ❤️
Thank you to everyone testing the previews. Your feedback is driving this iterative process. ❤️
1
0
7
251
Regarding boilerplate reduction, here’s the job application example’s complete update, with its local helpers inlined for this screenshot.
Field changes, child Block operations, and Steps compose in one exhaustive handler record, with inferred Model, Message payloads, and Command requirements.
Field changes, child Block operations, and Steps compose in one exhaustive handler record, with inferred Model, Message payloads, and Command requirements.
1
0
1
139
Devin Jameson retweeted
Inspired by @foldkit's story testing - Alchemy Domain lets you do the same but for the backend.
Test your service with the same language and mental model as you speak about it with your team.
Test your service with the same language and mental model as you speak about it with your team.
2
6
90
4,475
Devin Jameson retweeted
New: domain-driven design for Effect, in alchemy.run/domain.
Translate business requirements directly into working software and integrate into your alchemy infrastructure.
Translate business requirements directly into working software and integrate into your alchemy infrastructure.
13
19
385
24,664
Huge! Thanks for making this happen @filipfalcon!
open source contribution ✨
CAFE stack got insanely better! You can now deploy Foldkit (@foldkit) apps as SPA, SSG, SSR or hybrid with Alchemy (@alchemy_run) on every website provider it supports.
0
0
24
997
Devin Jameson retweeted
Cloudflare *is* the Effect & Alchemy platform.
@MichaelArnaldi @joelhooks @naumenko_roman @schickling @EffectTS_ @alchemy_run I have been all in for almost a year.
1
2
94
4,395
Foldkit currently makes application architecture explicit. The new Blocks and Layers work will make application composition explicit, too.
The framework prescribes how you define each piece and, soon, how you connect them.
This makes frontend application composition a first-class concern! I think this will be one of Foldkit’s distinctive features.
The framework prescribes how you define each piece and, soon, how you connect them.
This makes frontend application composition a first-class concern! I think this will be one of Foldkit’s distinctive features.
7
3
87
3,296
React → Foldkit: @Mapledotdev just made the switch.
The requirements:
- Port 287,000 lines of React code
- Keep the exact same UI (0px tolerance)
The result:
- Completed in 3 days
- Agent-friendly architecture
- Improved performance
- End-to-end tracing
- @EffectTS_ across the stack
My favorite excerpts from @makisuo’s blog post:
“The React app worked, but changing it had gotten expensive. Data on a page came from atom hooks, each with its own cache key and lifetime, and there were about 520 of those hook calls spread over 208 files. If you wanted to know what happens when someone switches org while a query is still running, you had to read every component on the page and work out the order they render in.”
“[In Foldkit,] there are no hooks and no component state, so the org-switch question has one answer, and it’s a single case in update. Foldkit’s Scene tests run update in Node without a DOM, so we can test that case directly.”
The requirements:
- Port 287,000 lines of React code
- Keep the exact same UI (0px tolerance)
The result:
- Completed in 3 days
- Agent-friendly architecture
- Improved performance
- End-to-end tracing
- @EffectTS_ across the stack
My favorite excerpts from @makisuo’s blog post:
“The React app worked, but changing it had gotten expensive. Data on a page came from atom hooks, each with its own cache key and lifetime, and there were about 520 of those hook calls spread over 208 files. If you wanted to know what happens when someone switches org while a query is still running, you had to read every component on the page and work out the order they render in.”
“[In Foldkit,] there are no hooks and no component state, so the org-switch question has one answer, and it’s a single case in update. Foldkit’s Scene tests run update in Node without a DOM, so we can test that case directly.”
Last weekend I moved Maple off React and onto @foldkit
100+ pages, 300k+ lines of React. Took me a few hours planning and building a validation harness, then 3 days with Claude to run the rewrite. The result is a 1:1 clone down to every. interaction and animation, with renders It's been in production for a week and nobody noticed the switch
If you spend the time on a good validation harness, you can rewrite almost anything now
Wrote a bit more about why here: maple.dev/blog/react-to-…
5
4
106
5,998
@Mapledotdev @EffectTS_ Here's the UI parity harness mentioned in the blog post. Super cool.
github.com/MapleTechLabs/…
github.com/MapleTechLabs/…
0
0
9
291
Another @foldkit Blocks + Effect Layers preview is ready.
This round:
- Added a Block assembly boundary to reduce expensive TypeScript inference.
- More consistent API naming and better diagnostics.
- Updated guides for stable migrations and previous-preview upgrades.
- Optional tsrs editor setup, which has felt much snappier in Neovim. Useful if you still type code.
- More under the hood.
Thank you to everyone who contributed experiments, patches, and feedback. Your work helped shape this release.
Testing instructions and copyable agent prompts:
github.com/foldkit/foldki…
This round:
- Added a Block assembly boundary to reduce expensive TypeScript inference.
- More consistent API naming and better diagnostics.
- Updated guides for stable migrations and previous-preview upgrades.
- Optional tsrs editor setup, which has felt much snappier in Neovim. Useful if you still type code.
- More under the hood.
Thank you to everyone who contributed experiments, patches, and feedback. Your work helped shape this release.
Testing instructions and copyable agent prompts:
github.com/foldkit/foldki…
4
3
62
1,745














