About this project
Macro is an all-in-one workspace that merges email, team chat, markdown docs, tasks, CRM, calls, file storage and AI agents into a single interface. Its stated goal is to act as an "operating system" for small companies or teams inside larger organizations, replacing a stack of separate tools (Slack, Linear, Notion, HubSpot, Superhuman) that do not share context.
Core design idea: every surface shares one backend, and cross-references between a doc and a task, or a channel message and an email, are stored natively as a bidirectional graph. @mentioning an item in one place creates a link visible from the other side.
Blocks described in the README:
- Email: multi-account unified inbox with keyboard shortcuts, shared inboxes, Gmail support, and AI/MCP tools for search and drafting.
- Messages: channels and DMs with inline early replies and collapsed threads, permissioned threads shareable by link.
- Tasks: lightweight issues tightly coupled to channels, email and agents; tasks can be created from email, keyboard shortcuts, markdown docs, checklists, @Macro mentions, agent chats, or external MCP/API/SDK.
- Docs: real-time collaborative markdown built on CRDTs, with version history, offline editing, and agent-native editing.
- Canvas: 2D board with embedded @links to tasks, files and emails.
- Agents: team-level memory synthesized from conversations, DMs, email, and tasks, refreshed nightly; exposed to external agents via MCP and selectable models.
- Calls: recorded, transcribed and logged to team memory.
- File storage: auto-imported from email and channels, searchable.
- Pull requests: GitHub integration linked to tasks and embeddable in channels.
- CRM: company and contact objects, custom properties, email sync, enrichment, kanban pipeline views, and per-deal channels.
Cross-cutting features: bidirectional @linking, channel-based permissions (access follows channel membership), unified memory, and a single inbox that splits items into Signal and Noise with keyboard-first navigation.
Technical layout: a SolidJS client (browser, Tauri desktop, mobile) under apps/web, a docs site, 42 deployable services/workers/Lambda handlers, 167 Rust crates for domain logic and data access, shared TypeScript packages for collaboration, Pulumi infrastructure definitions, a local Docker Compose stack, and a pinned Nix dev shell. Services follow a hexagonal architecture (inbound adapters, domain core with ports, outbound adapters).
Deployment and licensing: a hosted app is available, and the project states it can be self-hosted under the AGPLv3 (described as fully open source rather than open core). The README notes SOC 2 Type II certification, ISO 27001 badges, and zero data retention with model providers. Local development instructions are in docs/RUNNING_LOCALLY.md and contribution guidance in CONTRIBUTING.md.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.