Micro · Backed by a16z · 2024–Present

From product ideas
to an AI platform

I designed and built most of Micro’s platform, including its AI memory system, autofill, automations, meeting recording, and custom apps, then led engineering.

Founding Full-Stack Engineer → Head of Engineering

Explore Micro
production autofill runsAug 7–Oct 19, 2026
1.06M
recorded agent tool callsApr 28–Oct 19, 2026
1.1M
AI conversation messagesAs of Oct 21, 2026
161k
completed meeting recordingsAs of Oct 21, 2026
3,346

Turning ambiguity into shipped systems

Micro brings email, CRM, meetings, tasks, and documents into one workspace, giving people and AI agents the context to act across them.

Most features began as a conversation or rough idea, without a written spec or design. I turned those ideas into a defined problem, a technical design, and a delivery plan. I chose the stack and system boundaries, worked out what was feasible, and split delivery into phases that matched the team’s bandwidth.

As Head of Engineering, I led the other engineers while staying hands-on across the interface, APIs, and background infrastructure. I stayed responsible for how the pieces worked together: permissions, retries, persisted state, and the experience of finding the result.

The memory-agent launch

Loading public launch…

Brett Goldstein / Micro · Watch on X

The relationship engine

Loading public launch…

Brett Goldstein / Micro · Watch on X

01Memory that carries across sessions

An assistant needed to distinguish what matters right now, what happened before, and what should still matter next week.

I conceived, designed, and built a layered memory system inspired by how people remember: working memory for current priorities and open loops, episodic recall of past conversations, and long-term memory for durable facts and preferences.

Result The agent could carry context across chats and automations, retrieve earlier details, and update durable memories when preferences changed.

Technical decision

I defined what to retain, when to consolidate, and which layer to consult. Thread-scoped observations preserved conversation history; user-scoped working memory crossed chat and automation boundaries. Saved preferences stayed separate from evidence of current state, and corrections updated stored facts.

02Shared context and autofill

Important details lived inside conversations; keeping structured records current required manual work.

I built the shared record model and autofill pipeline connecting email and meeting context to typed properties, relationships, and workspace permissions.

Result 1,062,093 distinct production autofill runs, including 266,899 during September 20–October 19, 2026.

Technical decision

Unsupported values, low-confidence extractions, empty results, and intentional clears needed different handling. Extraction and persistence also had to remain separate: generating a value did not prove it had been saved.

03Automations beyond a request timeout

A scheduled agent needed to gather context, call tools, save its work, and make the result available later. Failures could happen between any of those steps.

I built scheduling, background authentication, execution, and run-history controls, then introduced durable stages for preflight, agent work, persistence, and finalization.

Result 21,161 distinct successful automation runs during August 10–October 19, 2026; 12,923 during September 20–October 19.

Technical decision

Run identity and duplicate checks kept repeated delivery from creating repeated work. Completed stages could be retained while later work retried.

04Meeting recording connected to follow-up

A recording only became useful when its transcript and follow-up work reached the right place.

I built meeting recording across calendar-driven bot creation, API controls, provider webhooks, and the meeting interface. Transcripts fed summaries, follow-up tasks, and CRM autofill.

Result 3,346 retained completed meeting recordings with recording links, rather than scheduled joins or bot attempts.

Technical decision

Recordings, transcripts, and downstream results arrived at different times. I handled repeated webhook processing and preserved existing follow-up references during retries.

05Agents, skills, and apps on one foundation

Agent actions and generated apps needed access to the same context, permissions, and persisted state as the product.

I built and extended agent tools, reusable skills, and MCP access, and led prompt-to-app development across the agent, APIs, and web product.

Result 1,105,198 recorded tool calls and 161,122 retained AI conversation messages across the agent platform.

Technical decision

Generated apps needed a lifecycle beyond the coding session: saved, versioned output that could reopen after its coding machine stopped. I worked across controlled integration access, the typed app foundation, and that persistence boundary.

How the platform fits together

Sources

Where work happens

  • Email & calendar
  • Messaging
  • Recordings & transcripts
Changes

Ingestion

Sync & queued workers

  • Webhooks and sync
  • Normalize records
  • Process transcripts
Linked records

Shared foundation

The context graph

PeopleCompaniesConversationsMeetingsTasksDocuments

API + workspace permissions

Read & act

Execution

Agent & workflows

  • Working, episodic & long-term memory
  • Agent tools & skills
  • Autofill & follow-ups
  • Scheduled automations
  • Prompt-to-app
Saved results

Surfaces

One platform, many ways in

  • Web · Mac · iPhone
  • Slack · iMessage
  • Saved custom apps

Developer access
SDK · CLI · MCP
Use the same context and permission boundary

Incoming changes become linked context. Agents and workflows read and update that context through the API, then save results back into the product. Developer tools share the same access boundary.

An email becomes structured context

  1. New email
  2. Extract typed values
  3. Update a linked CRM record

The original conversation stays connected to the record; extraction and saving are separate stages.

A meeting becomes follow-up work

  1. Recording and transcript
  2. Summary and action items
  3. Follow-up task + CRM autofill

The same meeting context feeds a readable summary and structured work without creating a second source of truth.

A prompt becomes a saved app

  1. Prompt + workspace context
  2. Coding workspace and preview
  3. Saved version that reopens

The generated app uses the platform API and keeps its output after the coding session ends.

The stack

TypeScript/JavaScript, React/Next.js, Node.js/Express, PostgreSQL, AWS workers and queues, Inngest, Mastra, Vercel AI SDK, Anthropic/OpenRouter, Recall, Daytona, Yjs/Hocuspocus, SwiftUI, and Tauri.

I learned to turn open-ended product ideas into systems people could use, then keep owning the details as the team and product grew.

Press & conversations

A look at the product, and a conversation about how I built it.