Pinned Tweet
🎉 Introducing sqlite-js-stream: Litestream, rewritten in TypeScript for @nodejs.
Same LTX format; runs inside your process as an npm package. No sidecar, no extra moving parts.
Written by an AI agent, reviewed by a human.
blog.platformatic.dev/sqlite…
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?
Platformatic retweeted
Dependencies Are Not the Problem xitter.twitterapi.xyz/i/broadcasts/2evBWKnLO…
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?
📢 𝐃𝐞𝐩𝐞𝐧𝐝𝐞𝐧𝐜𝐢𝐞𝐬 𝐀𝐫𝐞 𝐍𝐨𝐭 𝐭𝐡𝐞 𝐏𝐫𝐨𝐛𝐥𝐞𝐦
The same Brotli decoder bug hit Node, Bun, .NET, Envoy, and Istio at once.
@jarredsumner of @bun reads that as proof that dependencies are over.
streamyard.com/watch/rEv8sSX…
His view? Rewriting a dependency is now one prompt away... ⬇️ so every project should carry its own code.
@matteocollina , who co-wrote the @nodejs fix, and @lucamaraschi push back on the idea that open-source dependencies are finished.
November 11th, 8:00 AM | 5:00 PM (CEST)
1
68
Platformatic retweeted
From OpenAPI to AI Agent: Building a Production MCP Server, End to End xitter.twitterapi.xyz/i/broadcasts/2AMXYaaVA…
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?
Next Week Banter!
From OpenAPI to AI Agent: Building a Production MCP Server, End to End
@lucamaraschi & @matteocollina are joined by a Special guest! Roberto Bianchi, Staff Software Engineer @Spendesk
Wed. November 4th, 8:00 AM (PT) | 4:00 PM (CEST)
streamyard.com/watch/PURDcva…
AI assistants generate bursty, exploratory traffic.
@Spendesk 's MCP tools run inside their @fastifyjs app, trusted internal workflows reuse handlers via mcpCallTool with no loopback HTTP, and Redis-backed sessions survive a switch between production instances.
Platformatic retweeted
What Deno Gave Node.js xitter.twitterapi.xyz/i/broadcasts/1dxYlaZzn…
Moving untrusted code into a worker thread isn't sandboxing it.
A worker isolates the event loop, not authority: it still starts with filesystem, network and process access.
If you want a narrower boundary, you have to drop those permissions before the guest code compiles.
Meet sqlite-js-stream: Litestream, rewritten for Node.js in TypeScript
It speaks the same LTX format as Litestream, so the two can read each other's files. Stream your SQLite WAL directly to S3 or local storage, and restore from it.
But the real breakthrough is not just the port. It's how you deliver it. Litestream requires a Go sidecar, its own config, and a separate binary to manage on every deploy. sqlite-js-stream is an npm package that runs inside your Node.js process. No sidecars, no extra moving parts.
That sidecar overhead? It's the main reason SQLite hasn't seen wider adoption in production. Matteo called it, and I agree.
Here's the kicker: the entire port was built by an AI agent running locally on two DGX Sparks, with a human in the loop for planning, review, and final decisions.
If SQLite backups were just one npm install away, would you finally run SQLite in production?
1
223
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?
Deno joined @Cloudflare, and with the runtime winding down over the next year, Luca and Matteo look back at what it leaves behind.
@deno_land pioneered web standards on the server and did the hard work of adapting fetch for @nodejs, collaborated on Node’s own design decisions.
@lucamaraschi & @matteocollina will give it an honest postmortem: the two wild bets that didn’t survive contact with reality (URL-based package resolution and the “secure by default” permission model), and why trying them was still the right call.
streamyard.com/watch/UmmnR2J…
1
84
An AI assistant calling a tool has no human to catch a silent response change.
Each of @Spendesk 's MCP tools is built on a Massimo-generated client from their OpenAPI specs, so a contract change is a @typescript error in development or CI, not a broken tool call in production.
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?











