Product case study / Atlas
Your inbox and calendar.
One AI conversation.
I designed, built, and launched Atlas to connect Microsoft Outlook email and calendars to MCP-compatible AI assistants across work and personal accounts.
- My role
- Product design & full-stack development
- Stack
- Next.js, TypeScript, MCP, Microsoft Graph
- Scope
- SaaS product · Multi-account email & calendar
01 / The problem
An assistant without access can only give advice.
Checking availability, replying to a message, and booking a meeting usually means switching between a conversation, an inbox, and several calendars. Work and personal accounts make it harder: a free slot in one calendar may already be booked in another.
Atlas brings those workflows into the assistant the user already uses. The engineering challenge was to expose useful actions while keeping account identity, permissions, and approval explicit.
02 / Product walkthrough
See Atlas in action.
Watch directly on Loom03 / Architecture
A tool layer between the conversation and Outlook.
The Next.js and TypeScript product is backed by a remote Model Context Protocol (MCP) server. MCP lets Atlas expose capabilities to compatible assistants without building a separate chat interface.
- 01
AI assistant
The user asks a question or requests an action in an MCP-compatible assistant. The assistant selects the appropriate tool.
- 02
Atlas MCP server
Typed mail and calendar tools provide a consistent interface. The account layer identifies the connected account; the auth layer supplies its credentials.
- 03
Microsoft Graph
Atlas calls Outlook APIs on the user's behalf, then returns structured, account-labeled results to the assistant.
Multi-account support is part of the model: reads can combine connected accounts and label their results, while writes require an explicit target account. That lets the assistant check both calendars without guessing which identity should send a message or own an event.
04 / Microsoft Graph authentication
Access on the user's behalf.
Atlas uses OAuth 2.0 with Microsoft Entra to obtain scoped access to Microsoft Graph. Users authorize their Microsoft accounts; Atlas does not collect their passwords.
- 1. Consent: the user grants the permissions needed for the connected capabilities. Calendar-only access does not require mail permissions.
- 2. Token handling: credentials are stored encrypted and tokens are refreshed server-side so the integration can continue operating when access tokens expire.
- 3. Account selection: each tool call uses the intended account's authorization context when calling Graph, preserving the separation between work and personal accounts.
05 / MCP tools
Small, typed actions that compose into a workflow.
List, search, and read messages; prepare drafts and replies; send approved email from the selected account.
Calendar
List events, check availability, suggest meeting times, create or update events, and respond to invitations.
A request such as “find a time next week and draft a reply” becomes a sequence of tool calls: check connected calendars, identify availability, and prepare an Outlook draft. Structured outputs give the assistant clear results to use in the next step.
Sending requires confirmation of the recipients, subject, and body. A draft-first path leaves the user in control of sensitive messages, and write operations are logged with the affected account. These checks live in the server rather than relying only on prompt instructions.
06 / My contribution
From product idea to a launched integration.
I owned Atlas end to end: defining the email and scheduling workflows, designing and building the SaaS product, implementing the remote MCP integration, and launching it.
Product & frontend
Designed the product experience and built the Next.js and TypeScript application around connecting Outlook to an existing AI workflow.
Backend & tools
Built the typed MCP mail and calendar capabilities and their Microsoft Graph integration.
Authentication & accounts
Implemented OAuth access, server-side token handling, and multi-account behavior with explicit account targeting for writes.
Trust & delivery
Built confirmation and draft-first workflows, then brought the product through to launch.
The result is a working product that connects conversational requests to real email and calendar actions. The central lesson: account boundaries, OAuth lifecycle handling, and clear tool contracts are as important as the AI interaction itself.