Devin Jameson

363 posts

Devin Jameson banner
Devin Jameson

Devin Jameson

@devinjameson

Creator and maintainer of @foldkit, the frontend framework for correctness. Join the Discord: https://t.co/5ZPfXo8Zc9

United States Katılım Mayıs 2016
414 Takip Edilen271 Takipçiler
Sabitlenmiş Tweet
Devin Jameson
Devin Jameson@devinjameson·
Performance improvements + first-class Submodels branch is almost ready to ship. I've tested it on all Foldkit example applications as well as some private side projects and it's a big upgrade all around: - Better DX around Submodels. The seam between parent and child is clear and principled. - More intuitive interaction with Foldkit UI components (which are just Submodels). Foldkit UI components now use OutMessage to surface facts to the parent, like any other Submodel. - Way better performance: 844ms → 403ms on the TodoMVC benchmark (Foldkit optimised). I'm going to leave this PR open for a few more days. In my experience, if you point your agent at the PR and ask it to upgrade, it does a great job. Feedback is greatly appreciated! github.com/foldkit/foldki…
English
0
2
15
513
Devin Jameson
Devin Jameson@devinjameson·
No compile step. When update returns a new Model by reference, the runtime flags a render. Renders are coalesced to one per animation frame, so a burst of Messages produces a single view(model) call. Snabbdom diffs the new VNode tree against the previous and applies minimal DOM mutations, then the browser paints. Source: github.com/foldkit/foldki…
English
0
0
0
9
Devin Jameson retweetledi
Johannes Schickling
Johannes Schickling@schickling·
Very cool to see this new Effect-native frontend framework. Love the design decisions so far. Excited to give it a try soon. Great work @devinjameson!
Johannes Schickling tweet mediaJohannes Schickling tweet media
English
8
10
151
9.5K
Michael Arnaldi
Michael Arnaldi@MichaelArnaldi·
@schickling @devinjameson How do you feel about: - JSX - No plans for SSR / generally server-side I'd love to see a podcast between you and Davin it feels like this framework could be a very natural match (architecture-wise) for a local-first app
English
2
0
8
426
Devin Jameson
Devin Jameson@devinjameson·
@miilad2025 Nothing fundamental prevents it, but it's not on the near-term roadmap. Maybe someday! Right now, Foldkit is web-first. For mobile, the viable paths are PWA, Capacitor, and potentially Tauri.
English
0
0
1
19
milad
milad@miilad2025·
@devinjameson Is anything in the roadmap for foldkit where it can run on mobile?? Or what are your thoughts there
English
1
0
0
34
Devin Jameson
Devin Jameson@devinjameson·
LLMs are so much better at writing code than docs because the space of plausible solutions to "write a good docs page for this API" is several orders of magnitude larger than "solve this programming problem". By that logic, we should strive to make the solution space for frontend programming problems as small as possible. One way to manage state. One way to manage updates. Controlled side effects. Explicit boundaries. Strong contracts. It really works. The main feedback I've heard from Foldkit users so far is that LLMs are unusually good at working with it. That's no accident. And it's not about post-hoc "linting" or "guardrails". It's a direct consequence of the architecture.
English
2
0
10
577
zero
zero@zerocaulk·
what /goal does to a mf side note: @foldkit is fantastic. My clanker did 90% of it and, as someone who's never touched elm before, feels a lot like building with ratatui frontend-wise. Backend is a breeze with @EffectTS_ httpapi/rpc. 10/10 would prompt again
zero tweet media
English
1
0
1
50
Lucas
Lucas@rvcas·
Wish I never learned about ADTs and pattern matching, all the most used languages don’t really have them. Once you taste forbidden fruit it’s hard to go back.
English
21
15
388
38.3K
r17𝕏
r17𝕏@__r17x·
Using foldkit.dev with Your Favorite Clanker is automagically create clean prompt when spawning sub-agents.
r17𝕏 tweet media
English
2
3
26
1.2K
Devin Jameson
Devin Jameson@devinjameson·
Foldkit wouldn't be possible without AI assistance, but AI is far more helpful for some tasks than others. Super helpful for: - Tricky TypeScript stuff: when I know something should be possible in the type system but I don't know how - Performance optimization: diagnosing hot-path bottlenecks and optimizing - Large, mechanical refactors: going from API shape A to API shape B across 100 files - The low-leverage stuff that can eat up your day: drafting commit messages and changesets, fixing small bugs, managing Linear tickets Not so great at: - Documentation: it gets the general shape right, but the flow is often awkward, misses important things, doesn't see the big picture, and emphasizes the wrong things - Architectural and API design taste: sometimes surprisingly good, usually just okay. I typically design APIs in collaboration with AI, but I'm driving it. AI helps me understand the "how" more than the "what" - Finding gaps: what Foldkit can't do that it should be able to do, where the latent bugs are, and what the weak spots are The pattern is basically: AI is incredible when the target is clear and the problem space has precedent. Foldkit isn't the first project to push the type system hard, optimize performance, etc. It is much weaker when the hard part is deciding what the target should be. Will be interesting to see if that's still true in a year.
English
0
0
8
335
Devin Jameson
Devin Jameson@devinjameson·
@exhaustdata The whole concept of a review feels pretty deeply at odds with the Boards of Canada ethos.
English
0
0
2
452
Devin Jameson
Devin Jameson@devinjameson·
Working branch for performance optimization and first-class Submodels. Foldkit programs feel more organized, principled, and ergonomic with this update. And performance is now very close to what I’d consider acceptable for v1. Instructions in the PR description if you’d like to try it out. Probably won’t do a next/beta release because I expect this to hit main in the next few weeks. Feedback always welcome. github.com/foldkit/foldki…
English
1
1
21
1.8K
Devin Jameson
Devin Jameson@devinjameson·
Heads up: a few significant changes coming to @foldkit in the next stretch. Performance Improvements Rendering will become fully synchronous, reducing Effect overhead in the hot path. Submodel views will be memoizable by construction. Currently, they can't be cached because parents pass fresh callbacks each render. A handful of smaller wins will land alongside (faster dispatch hot path, leaner Submodel embedding). First-Class Submodels Beyond memoization, Submodels will gain real encapsulation and ergonomics wins. Submodel views will dispatch their own Messages directly; the wrap from child Message to parent Message will be defined once at the Submodel boundary. Pre-1.0, we're breaking things freely to land the right shape. Migration guides and changesets will be detailed enough that an agent can drive the upgrade for you. Thanks for rolling with the churn!
English
4
2
20
1.1K