Horacio Herrera @horacioh.com · 26/09/2026Watched Devin prompt itself to implement Stripe. The prompt barely mentioned any technical steps. It described what the user should be able to DO, not what to build. Here’s my take 👇 seed.horacioh.com/short-posts/...seed.horacioh.comLearning from seeing Devin prompting itselfhoracio 000
Horacio Herrera @horacioh.com · 12/08/2026So happy I learned about state machines & the actor model years ago. It's SO IMPORTANT in the era of AI agents and human/agent collaboration ❤️❤️❤️ AI agents are actors: messages, internal state, transitions. The actor model wasn't invented for AI but it might as well have been. 010
Horacio Herrera @horacioh.com · 11/08/2026Me uno oficialmente como @DevinAI Ambassador 🎉 Llevo meses usando Devin en proyectos reales, no en demos. Ahora quiero compartir esa experiencia. Quick intro de lo que hago con él 👇 100
Horacio Herrera @horacioh.com · 11/08/2026The hard part of building software is never the code. It's modeling what should happen — and what shouldn't. What's something in your projects where the *model* mattered more than the *implementation*? Reply with yours ↓ 000
Horacio Herrera @horacioh.com · 10/08/2026I used to test components. Now I test state machines. Component tests check 10 things you don't care about (React, DOM, CSS, timing). Machine tests ask one thing: given state + event, did it transition? You already have a state machine — make it explicit. 000
Horacio Herrera @horacioh.com · 08/08/2026Yep. On my case, what I write will get to 10 people if I’m lucky! So I just stop bothering about polishing too www.moll.dev/notes/justwr...moll.devJust Write - Moll.devJust WriteMay 17, 2025 • 3 minute readEDIT: In the interest of transparency, I did have to edit this post. I originally mistyped “2025-05-17” as “202-05-17” in the post metadata which broke the… 010
Horacio Herrera @horacioh.com · 07/08/2026AI didn't just make code cheaper. It made maintainer attention more expensive. When anyone can generate a PR in 30 seconds, the bottleneck shifts: the scarce resource is review capacity, not code production. The best OSS contributions compress maintainer attention. 110
Horacio Herrera @horacioh.com · 06/08/2026Local-first is not just offline mode. It changes who owns the product relationship: your work starts with you, survives the network, and syncs when the system catches up. That shift affects architecture, UX, and trust. It's a philosophy, not a feature. 000
Horacio Herrera @horacioh.com · 05/08/2026Block identity is the most underrated problem in document editors. A block isn't just content — it's position, children, selection, version. Move it, split it, merge it — did the identity survive? Most editors miss this for months. 000
Horacio Herrera @horacioh.com · 04/08/2026AI made code cheap. It didn't make knowing what to build easier. The bottleneck was never typing. It was understanding the problem, modeling abstractions, knowing what the user needs. AI didn't kill coding — it made visible what the real job always was. 000
Horacio Herrera @horacioh.com · 03/08/2026Our designer asked me to make text formatting persist when you press Enter — if you're writing in bold and hit Enter, the next line stays bold. My first reaction: "yeah, that makes sense." Then I actually used it. Nope. 100
Horacio Herrera @horacioh.com · 03/08/2026Who's building stuff on top of NVIDIA Brev? developer.nvidia.com/brevdeveloper.nvidia.comNVIDIA BrevRun, build, train, deploy, and scale AI models with GPU on the cloud. 000
Horacio Herrera @horacioh.com · 03/08/2026Your framework doesn't matter as much as your model. React, Vue, Svelte — they all render state. The hard part is knowing what states exist, which transitions are valid, and what happens when things go wrong. Good architecture is just good modeling with a nicer name. 000
Horacio Herrera @horacioh.com · 01/08/2026If you believe you can build a really good agent harness without relying on state machines, you are wrong.youtube.comHow I deleted 95% of my agent skills and got better results — Nick Nisi, WorkOSWorkOS will be back for the World's Fair next week! see https://ai.engineer/wf and use YOUTUBEPROMO for new tickets only. Join 6000 AI engineers at the "Superbowl of AI"! --- Claude would fake… 100
Horacio Herrera @horacioh.com · 01/08/2026Autosave looks simple until it isn't. "Just debounce a useEffect" works for v1 — then races, stale saves, and lost work crash the party. At that point the real model is not "an effect." It's a state machine. Explicit states + transitions = no stale IDs, no impossible UI. 000
Horacio Herrera @horacioh.com · 31/07/2026This document is GOLD github.com/ddoemonn/int...github.cominterior/DESIGN.md at main · ddoemonn/interiormicro-interactions for react, built for the half-second after a click - ddoemonn/interior 100
Horacio Herrera @horacioh.com · 31/07/2026My coding setup right now: Jean on local (web access), Jean on a server, Devin in the cloud. All reachable from a phone, tablet, or laptop through Tailscale. I could be anywhere. The agents don't know and they don't care. They're just working. 010
Horacio Herrera @horacioh.com · 31/07/2026Boolean flags are fine until the product starts having memory. `isLoading` + `isError` + `isSuccess` + `isSaving` + `isRetrying` + `wasCancelled` = a state machine you're pretending isn't one. 000
Horacio Herrera @horacioh.com · 30/07/2026I shipped 3 PRs this week while I was at BJJ. My agent wrote them. I reviewed when I got back. The code was fine. Not perfect — but neither is the code I write at 2am. The difference is I was on the mats, not at a keyboard. 100
Horacio Herrera @horacioh.com · 23/07/2026We had 10 useEffect calls in a single React component. Our TipTap document editor was a mess of side effects fighting each other. Here's how we went from 10 → 2 by embracing state machines and atomic hooks. 110
Horacio Herrera @horacioh.com · 11/07/2026I guess that if I’m using @coolify to deploy my side projects, I don’t need Shipnode right? shipnode.devshipnode.devShipNode — Zero-downtime Node.js deployments over SSHShipNode deploys Node.js apps to your own Ubuntu or Debian server over SSH with zero-downtime releases, PM2, Caddy HTTPS, health checks, and rollbacks. 000
Horacio Herrera @horacioh.com · 10/07/2026Devin got mentioned in the Cal Newport podcast open.spotify.com/episode/3lKm... cc @cognitionopen.spotify.comDo Managers Actually Understand AI? (I’m Not So Sure.) | AI Reality CheckDeep Questions with Cal Newport · Episode 010
Horacio Herrera @horacioh.com · 06/07/2026I built a cron job so my wife wouldn't have to check a website every day. When I was almost done, she said: "You don't have to. I'm already used to doing it." That was a good reminder 👇 110
Horacio Herrera @horacioh.com · 05/07/2026Considering Devin? Here's my honest experience after a month of real use. I'm a cofounder working full-time. I had a clear side project idea but zero time to build it myself. 🧵 100
Horacio Herrera @horacioh.com · 04/07/2026A common refactor mistake: extracting JSX first. Splitting into <Header /> <Body /> <Footer /> helps readability — but the real complexity stays buried inside Body. Better order: extract rules → test rules → then split components if JSX is still noisy. 001
Horacio Herrera @horacioh.com · 03/07/2026Rich text editor bugs hide in tiny interactions: click an image caption, type text, press Enter, verify the image wasn't deleted, check the next paragraph gets focus. That one test is worth 100 snapshots. Test the interaction. 000
Horacio Herrera @horacioh.com · 02/07/2026Autosave looks simple until it isn't. "Just debounce a useEffect" works for v1 — then races, stale saves, and lost work crash the party. 100
Horacio Herrera @horacioh.com · 01/07/2026New Post! seed.horacioh.com/writing/depl... Because Seed is open source, you are able to fork it and make it yours. Here I teach you how I did it for my own site.seed.horacioh.comDeploy a Seed Site From Your Own Forkhoracio 000
Horacio Herrera @horacioh.com · 30/06/2026Today I will show what we are doing with agents in @seed.hyper.media come and join us! luma.com/xauvgrx6 000
Horacio Herrera @horacioh.com · 29/06/20264 booleans = 16 possible combinations. Only 7 are valid. The other 9 are bugs waiting to happen. Why I model UI workflows as state machines: seed.horacioh.com/writing/butt... 000
Horacio Herrera @horacioh.com · 28/06/2026A rich text editor is a document system with a schema, transactions, selections, and identity — not a decorated <textarea>. That's why I built Seed's editor on ProseMirror. Full writeup: seed.horacioh.com/writing/rich... 011
Horacio Herrera @horacioh.com · 27/06/2026AI made code cheap but didn't make knowing what to build any easier. The bottleneck was never typing — it was understanding, modeling, and product sense. Expanded my thoughts: seed.horacioh.com/writing/ai-e... 000
Horacio Herrera @horacioh.com · 26/06/2026A trust graph for OSS shouldn't be owned by any single platform — not GitHub, GitLab, or anyone else. Maintainer reputation shouldn't evaporate when you change forges. The graph has to be portable. 000
Horacio Herrera @horacioh.com · 25/06/2026The big question: how does OSS change when plausible code is nearly free? My answer: contribution friction should scale with trust distance and change criticality. Full proposal here: seed.horacioh.com/writing/grad... 000
Horacio Herrera @horacioh.com · 24/06/2026The MVP I want to see: scoped expiring vouches, contribution policies as signed docs, hop-distance calculation over the graph, and a GitHub Action surfacing trust distance in PRs. 000
Horacio Herrera @horacioh.com · 23/06/2026What's the right primitive for OSS trust? Not stars, followers, tenure, or signed commits alone. I keep coming back to scoped, revocable, reputation-bearing vouches. 000
Horacio Herrera @horacioh.com · 22/06/2026AI did not just make code cheaper. It made maintainer attention more expensive. In OSS, the valuable contribution is not only "here is code." It is: the problem, the reproduction, the tradeoff, and the smallest useful fix. Good contributions compress maintainer attention. 000
Horacio Herrera @horacioh.com · 22/06/2026A good OSS trust model has to be portable. Every forge should read the same graph. Maintainer reputation shouldn't disappear when you move from GitHub to Codeberg. 000
Horacio Herrera @horacioh.com · 21/06/2026Open source ran for 30 years on a hidden assumption: a working patch = real human attention. AI broke that. Plausible-looking code is nearly free to generate, but human understanding is not. 463
Horacio Herrera @horacioh.com · 20/06/2026Betting on XState for frontend logic is never a bad call. useState works at first — but logic always gets more complex. When it does, not having a statechart means untangling implicit state manually. Start with XState early. You'll thank yourself later. 000
Horacio Herrera @horacioh.com · 19/06/2026Local-first is not just offline mode. It changes the product relationship: your work starts with you, survives the network, and syncs when the system catches up. That one shift changes architecture, UX, recovery paths, and trust. 000
Horacio Herrera @horacioh.com · 18/06/2026Rich-text editors are not textareas with bold buttons. They are document systems: schemas, selections, history, identity, comments, embeds, collaboration, import/export, and recovery paths. The toolbar is the easy part. The product system underneath is where the complexity lives. 000
Horacio Herrera @horacioh.com · 17/06/2026Most complex UI bugs are invalid states wearing a nice design system. Once you add loading, retry, cancel, partial success, background sync, and recovery paths, you are not just managing component state anymore. You are modeling product behavior. 000
Horacio Herrera @horacioh.com · 17/06/2026A good statechart is a product spec developers can run. It captures what can happen, what cannot happen, and what the UI should do next. That is the real value for complex product flows: ambiguity becomes visible before it turns into bugs. 000
Horacio Herrera @horacioh.com · 16/06/2026Most complex UI bugs are invalid states wearing a nice design system. Once you add loading, retry, cancel, partial success, background sync, and recovery paths, you are not just managing component state anymore. You are modeling product behavior. 010