We open-sourced Lody’s CLI and local desktop.
A shared workspace around the coding agents you already run. Sessions, diffs, and decisions stay with the team.
Built on @loro_dev. More of that syncing stack will be open too.
Local models got good enough that computer history can stay on the machine.
AfterRay remembers everything you see and hear on your Mac — for you and your local agent — and writes today's journal as you go.
Compute stays on-device. Data stays encrypted on disk.
Congrats to macro on the 1.0 launch! 🎉 It’s great to see Loro as part of your stack. Thank you for supporting Loro as a sponsor — we really appreciate having you in the community!
Today we're launching Macro 1.0 — a new office suite for the intelligence age.
Macro is a unified workspace for your entire company, your team and your agents.
1. Fully open source. Built in Rust + SolidJS. Self-host if you want.
2. Designed as a single system: email, messaging, docs, tasks, agents, calls, and CRM all @-linked together in one tab.
3. Unified team-level memory for agents built over emails, team chat, tasks, PR's and CRM. Access the memory from Macro or AI or external agents via MCP.
We built Macro for ourselves because we wanted a single system for our whole company.
We didn't want to get slowed down by rate limits and 2FA'ing into 17 different tabs.
Let's take a look at each block 🧵👇
Iroh finally hit 1.0
If the P2P connection layer becomes reliable, a whole class of apps that used to be painful becomes much easier to build. This feels especially well-suited for personal software.
More personal software feels worth building now!
New in Loro: Mergeable Containers!
Concurrent Map child container creations no longer overwrite.
This surprising overwrite issue existed in Loro, Yjs, and Automerge. Happy to finally ship a solution!
The fix: make the child ID independent of the creation OpId.
We reuse Loro’s Root Container idea: identity from a unique string. For mergeable children, that string encodes the parent LoroMap + key, so both peers derive the same ID.
A Lody user sent us the sweetest little story about how she’s been using Lody and Loro to polish her work. It’s so warm and genuinely adorable.
@troubledskies You made my whole day.
The Loro Protocol repo is now open source!
It contains documentation for the wire protocol, along with TypeScript and Rust implementations of WebSocket clients and servers.
The protocol allows reusing a single connection to join multiple CRDT rooms, such as LoroDoc or the Ephemeral Store. It’s also compatible with Yjs and includes experimental support for end-to-end encrypted LoroDoc synchronization.
Loro Mirror is released! It makes building a collaborative experience much easier. You declare a simple schema and keep using setState. Mirror syncs a typed, immutable view of your app state with CRDTs, so you avoid most of the diff/patch glue
A quick preview of the new lib: you can setState like React; diffs are computed automatically and fed to the CRDTs. Your app can easily support real-time collaboration, offline editing, versioning.
A quick preview of the new lib: you can setState like React; diffs are computed automatically and fed to the CRDTs. Your app can easily support real-time collaboration, offline editing, versioning.
You can now use Loro in React Native📱✨
The demo below showcases the real-time collaboration between an iPhone (left) and an Android (right) through Loro.