Platformatic (@platformatic) header
Platformatic (@platformatic) profile picture

The platform bridging the gap between Node.js developers, operators, and wider business. So you can focus on building ๐Ÿš€

Joined April 2022
Photo by Platformatic (@platformatic)Photo by Platformatic (@platformatic)Photo by Platformatic (@platformatic)Photo by Platformatic (@platformatic)Photo by Platformatic (@platformatic)Photo by Platformatic (@platformatic)Photo by Platformatic (@platformatic)Photo by Platformatic (@platformatic)Photo by Platformatic (@platformatic)Photo by Platformatic (@platformatic)
Platformatic retweeted
Vendors promise "no lock-in" for durable execution. That holds for your code, but not for your live workflows. If a workflow is paused for two weeks waiting on approvals, its state sits locked in a single operatorโ€™s journal. Want to switch providers? Every in-flight run must be drained first. For long-running workflows, that means youโ€™re stuckโ€ฆ migration never finishes. You can move your code, but your state is anchored. Thatโ€™s real lock-in. Itโ€™s not about bad intentions; itโ€™s built into the architecture. We face the same reality. How many of your workflows are mid-flight right now? If you needed to move, could any of them actually go with you?
1
2
3
95
Platformatic retweeted
Teams everywhere are deploying model-generated code. But almost no one is rethinking what that code can actually access. Most reviews stop at "is the output correct?" The real question is "what authority does this code run with?" Only one of these gets caught in tests. The other defines your blast radius. It does not matter how good your model is. Even flawless generated code, if it runs with full app permissions, exposes your entire system. The risk lives in the execution contract. Ask yourself: who on your team can say, right now, exactly what your generated code is allowed to touch?
1
3
3
100
Platformatic retweeted
The most effective security shift I made this year is surprisingly simple: give your code a verb, not a toolbox. When code needs to act, the default move is to hand it a client; maybe a database connection, a fetch, or an SDK. But that quietly hands over every permission you meant to protect. A general client can go anywhere, and suddenly your boundaries are gone. Expose the operation, not the client. Instead of ๐˜ง๐˜ฆ๐˜ต๐˜ค๐˜ฉ(๐˜ถ๐˜ณ๐˜ญ), offer ๐˜ณ๐˜ฆ๐˜ค๐˜ฐ๐˜ณ๐˜ฅ๐˜ด.๐˜ง๐˜ช๐˜ฏ๐˜ฅ(๐˜ช๐˜ฅ). Your guest receives a focused, promise-returning function. You keep control of credentials, authorization, and validation. Strong security boundaries and great API design are the same discipline. Where in your stack are you handing out a client when a single, well-defined function would be safer and smarter?
3
3
4
135
Platformatic retweeted
A belief worth correcting: "we run it in a worker thread, so it's isolated." A worker thread only isolates the event loop. It does nothing to restrict authority. By default, your worker has full access to the filesystem, network, environment, and process, just like the parent. You changed the location, not the permissions. Order matters. Permissions must drop before the guest code compiles or imports. If you wait, you create a window where your code has more authority than you planned. That gap is all it takes. Without checking, can you list every API your dynamic code can access right now?
1
2
4
166
Platformatic retweeted
We never planned to build a memcached client. But every existing option became the bottleneck in our stack. Gateway request deduplication demanded a client that could handle real production traffic at scale. Nothing out there could keep up. When something sits this close to the hot path, I expect three things: strict opaque-token verification on every response, zero runtime dependencies beyond node:net, and real-world tests against memcached servers with authentication and TLS. This client delivers on all three. Whatโ€™s the slowest link in your stack that everyone ignores?
1
2
7
298
Platformatic retweeted
Hereโ€™s a lesson from @matteocollina deep dive into our memcached client: A single pipelined connection outperformed a ten-connection pool from legacy @nodejs clients. Same server, same loopback, same Node version. ๐Ÿ’ก The result? Our approach delivered triple the throughput of the fastest alternative. Why did the old clients need connection pools? They couldnโ€™t pipeline efficiently. With a smarter parser, you unlock performance: pipeline on a single connection, parse by length for speed, and merge writes for efficiency. No extra cost, just better engineering. Pooling still matters when you need to handle large values that could block a pipelined connection. Thatโ€™s what poolSize is for. But letโ€™s be clear: pooling should solve real scaling problems, not compensate for slow parsing. How many connections does your busiest cache client open, and why?
2
2
2
206
Platformatic retweeted
๐ŸŽ‰ We've renewed our @ThePledge for 2026! Six developers, $13,000 to: @openjsf , the @linuxfoundation, @GraphQL, the OpenAPI Initiative and Forbes Lindesay. Plus a virtual file system contributed to @nodejs, and security triage that nobody announces.
1
4
9
453
Platformatic retweeted
Canโ€™t wait to join this wonderful conference! I will be talking about @workflowsdk being the most natural foundation for agents like @eveโ€ฆbutโ€ฆwith a twist ;-)
Welcoming @lucamaraschi of @platformatic to BIOS SPHERE! Agents Are Workflows: building agents that survive crashes. Early bird ends Wed Sept 30, 11:59pm PT or sold out. Sponsored by @DevinAI + @cognition. Workshop: @kentcdodds + @orchid_hq luma.com/biossphere
1
3
7
348
Platformatic retweeted
Shoutout to all #NodeConfEU 2026 #Sponsors and #Friends! Thank you! ๐Ÿ’› Your partnership is helping us create something truly special in the #Node.js #community! Our Sponsors ๐Ÿ™ @Cloudflare @platformatic @SocketSecurity @nxtedition @ZephyrCloudIO @tether
1
7
12
1,024
Platformatic retweeted
Replying to @eve
@eve sets the bar for agent frameworks in @nodejs. But beneath that clean API, thereโ€™s a layer of invisible infrastructure. One that most teams only notice when they leave Vercel behind. On @vercel, everything just works. Workflow runtime, queue delivery, persistent state, retry logic, deployment version routing; all handled for you, all out of sight. Thatโ€™s the promise of a truly seamless developer experience. But shift to your own @kubernetesio cluster, and suddenly the invisible becomes visible. You start to see what Vercel was quietly managing behind the scenes: Persistent state that survives pod restarts. Distributed queues for steps across multiple pods. Retry handling when a process fails mid-step. Deployment version routing so in-flight sessions finish on the code that started them. None of this is in the framework. None of it is supposed to be. The framework is the agent model. The infrastructure is the deployment contract, and on Vercel it was invisible. How much of your production infrastructure are you discovering rather than designing? blog.platformatic.dev/run-duโ€ฆ
2
6
163
Platformatic retweeted
Too many @nodejs teams still treat AI agents like long-running connections. In production, that mindset holds you back. A truly durable agent session is just a series of queued operations. Every tool call, every wait for user input, every restart, each step is recorded. If a process or pod disappears, another picks up instantly from the last completed step. No gaps, no lost progress. Any pod, any worker, any step, no session affinity, no sticky routing, no need to keep the original process alive. This is true horizontal scalability. The event history is the session. It belongs in persistent storage, not memory. Thatโ€™s how you build for resilience and scale. The practical result? Scaling durable AI agents becomes as simple as scaling stateless APIs. Add pods, and they immediately join the pool, executing steps across every active session. Ask yourself: what happens in your current agent architecture when a process restarts mid-session? If you canโ€™t answer with confidence, itโ€™s time to rethink your approach. blog.platformatic.dev/run-duโ€ฆ
1
3
203
Platformatic retweeted
Pushing new code while an AI agent session is still running is not just a deployment detail. ๐ˆ๐ญ ๐ข๐ฌ ๐š ๐Ÿ๐ฎ๐ง๐๐š๐ฆ๐ž๐ง๐ญ๐š๐ฅ ๐œ๐จ๐ซ๐ซ๐ž๐œ๐ญ๐ง๐ž๐ฌ๐ฌ ๐ซ๐ข๐ฌ๐ค. Durable agents capture every action: model calls, tool invocations, waits, user inputs. When a session resumes, the engine replays that exact history against your codebase to rebuild state. If your code has changed since the session began, replay can trigger steps out of sequence, apply results to the wrong logic, or quietly generate the wrong answers. ๐“๐ก๐ข๐ฌ ๐ข๐ฌ ๐ฐ๐ก๐ž๐ซ๐ž ๐ฌ๐ข๐ฅ๐ž๐ง๐ญ ๐Ÿ๐š๐ข๐ฅ๐ฎ๐ซ๐ž๐ฌ ๐œ๐ซ๐ž๐ž๐ฉ ๐ข๐ง. Every deployment splits your sessions in two: 1๏ธโƒฃ New sessions that must run on the latest code. 2๏ธโƒฃ In-flight sessions that need to finish on the version they started with. ๐˜ ๐˜ฐ๐˜ถ๐˜ณ ๐˜ช๐˜ฏ๐˜ง๐˜ณ๐˜ข๐˜ด๐˜ต๐˜ณ๐˜ถ๐˜ค๐˜ต๐˜ถ๐˜ณ๐˜ฆ ๐˜ฎ๐˜ถ๐˜ด๐˜ต ๐˜ต๐˜ณ๐˜ข๐˜ค๐˜ฌ ๐˜ฃ๐˜ฐ๐˜ต๐˜ฉ, ๐˜ฐ๐˜ณ ๐˜บ๐˜ฐ๐˜ถ ๐˜ณ๐˜ช๐˜ด๐˜ฌ ๐˜ฃ๐˜ณ๐˜ฆ๐˜ข๐˜ฌ๐˜ช๐˜ฏ๐˜จ ๐˜ญ๐˜ช๐˜ท๐˜ฆ ๐˜ฆ๐˜น๐˜ฑ๐˜ฆ๐˜ณ๐˜ช๐˜ฆ๐˜ฏ๐˜ค๐˜ฆ๐˜ด. A session paused for human approval might sit idle for days, generating no traffic at all. Quiet does not mean complete. โ“ Does your deployment pipeline actually know which agent sessions are still running right now? If not, you are flying blind. Read more about it โฌ‡๏ธ blog.platformatic.dev/run-duโ€ฆ
2
3
146
Platformatic retweeted
AI agent deployments break the rules of traditional API releases. The old playbook does not apply. If a session begins on v1, whether it's paused for human input, waiting on a tool, or mid-workflow, it must finish on v1. The event history and queued actions are tightly coupled to that version. Forcing them onto v2 is a recipe for unpredictable results. Every deployment leaves you running multiple versions of your agent in parallel. Each active session pins its version until the workflow completes. This is the operational reality. Kubernetes rolling updates are blind to this complexity. They terminate pods without regard for in-flight or paused agent workflows, risking broken sessions and lost work. Whatโ€™s needed: version-pinned routing, session-aware draining, and real visibility into when an old version is truly doneโ€ฆ not just idle. This is the hidden infrastructure challenge behind every 'deploy AI agents to production' story. Ignore it, and you risk downtime, data loss, and broken user experiences.
1
1
3
201
Platformatic retweeted
"Zero downtime deployment" means your server never went offline. It says nothing about the users already on your site when you shipped. They're running old JS bundles, old React state, against a server that's already moved on. Next API call hits an endpoint that no longer exists. Checkout fails. Form resets. Zero downtime. Broken session. Version skew isn't a bug. It's structural. It happens on every deploy. The fix isn't preventing it; it's building systems that let multiple versions run together. Cookies, ingress routing, replica set management, and a control plane that handles the rest. Building this with @matteocollina on Wednesday. 8am PT / 5pm CEST โ†’ streamyard.com/watch/RnVyfVTโ€ฆ
2
1
4
260
Platformatic retweeted
Weโ€™ve had support from @CloudflareDev, @AWS, @stripe , @platformatic, @ImagekitIo, @storyblok, @vercel, GYFF, Smallpdf, @OnlyDust_com, @jetbrains , SwissDevJobs, Dynatrace, Digitec Galaxus, GetYourGuide, @sentry, Tiptap, Namespace, Stormkit, SAE Institute Zรผrich, and many more.
1
1
5
326
Platformatic retweeted
Iโ€™ve deployed @platformatic Watt for our new loggedout page, excellent multithreading performance with observability. Have you tried multithreaded @nodejs yet?
3
5
3
59
8,676