The Macro Blog
Posts from our team about why we build Macro, how we dogfood, and the engineering behind it.
Why Macro Is Open Source
Macro is not open source because I like Richard Stallman. I don’t personally use Linux. I have an iPhone and I prefer when people text me with blue bubbles, though of course I think this is a bit of an anti-competitive practice. My point is I am not an open source maximalist. Nor am I a free software evangelist.
Macro vs ClickUp
On the surface, Macro and ClickUp have a lot in common. They're both all-in-one workspace tools that combine team communication, agents, docs, task management, CRM, and even video call features. ClickUp has more of those features — more views, more custom fields, more settings pages. But Macro's take on these tools is fundamentally different from ClickUp's. We built Macro to be fast and AI-first — the kind of workspace that also feels like an IDE if you want it to, with keyboard-first commands for people who live in shortcuts. Anyone on the team can open it and get work done; power users just get more speed out of it. If you want an AI-powered workspace with all your organization's context, including email, available to agents, Macro is built for that.
How We Migrated Macro to Doppler and Made Configuration Safer
Deploy fails. Dig through the logs. Find the environment variable nobody added to the infra. We got tired of that loop.
Agents Attacking Documents with CRDTs
Swapping whole Markdown blocks was too coarse and LLMs are terrible at JSON patches. So we gave a team of small agents a thin library and let them edit the tree directly.
The Macro Filesystem
Access management is one of the hardest systems we've built at Macro, and the one we've rewritten the most. The design we finally landed on does the most work under the hood and is the easiest for users to understand. This is one part of a multi-part piece on how we design the Macro filesystem (MFS). Our focus in this article is the access management (permissions and sharing) system.
Building a GraphQL Cache That Doesn’t Have to Fit in Memory
How Macro built a disk-backed, Rust-powered normalized GraphQL cache with bounded memory, offline replay, and shared browser/desktop architecture.
Getting Rate Limited for Fun and Profit
Backfilling an inbox at full speed is easy. Doing it while the user can still send, read, and archive email is the hard part.
Macro vs Linear
We loved Linear. Before Macro we ran our old company on it, and Macro Tasks is inspired by its keyboard-first speed and design principles. Linear is really really good for pure task tracking.
Macro vs Notion
Before Macro, we used to run the company on Notion. I was so excited when I first discovered it… it was early on in our startup and I was looking for one place to run the company out of, instead of a bunch of different tools. I really liked its @mentioning system to link things together (though back in 2020 it was very slow) and the promise of Notion databases to organize things how I wanted. Notion held up for us for 2.5 years, until we hired a sales team and our VP of Sales requested a proper CRM, and our engineering team demanded Linear. We never used Notion Mail (now defunct) because we used Superhuman. Anyways, my point is Notion didn't really deliver on its promise of "all in one" and the core reason it didn't is that a database of markdown files isn't really competitive with well-built software built for a specific purpose. Salesforce, Attio and HubSpot are a better CRM than Notion will ever be. Linear is a better task tracker. And so on.
Macro vs Slack
Before Macro, we used Slack for years and never had any problems with it. That's to say, beyond the usual, mildly annoying problems that I didn't think of as being that bad:
Macro vs Superhuman
Macro is heavily inspired by Superhuman. While building Macro we had the privilege of speaking with the co-founders of Superhuman. They invented CMD+K, popularized dark mode (especially in email), and the idea of luxury, highly polished software. They laid the foundations for high-taste companies that came after them like Linear. The main difference between Macro and Superhuman is that Macro is multi-modal. Superhuman is a really fast email client, but only for one inbox at a time. Macro is that plus your team chat, your docs, and your GitHub PRs, all triaged from one list with the same keyboard shortcuts. On top of that we made a handful of specific improvements to the email experience itself.