← / WorkProductivity · Email· 2026

Brief.

An AI copilot for the inbox that briefs, drafts, and remembers, without becoming the inbox.

Working build. Web client and NestJS API.
Modules
auth · briefing · chat · gmail · memory · openai · user
Frontend
React + Vite
Persistence
Postgres + TypeORM
Stack
NestJS · React · OpenAI · Google APIs
/ Intro

Email is the place serious work gets coordinated and the place serious context gets buried. Most AI inbox tools want to replace the client. Brief does not.

Brief sits next to Gmail and gives you three things. A morning briefing of what matters. Draft generation with your tone. Conversational search across threads. The memory module makes the assistant feel like it knows you instead of starting from scratch every morning.

/ What this fixes

AI summaries of email are easy. AI summaries of email that you trust are not. The trust comes from continuity. The assistant has to remember who matters, what you said last week, and how you sign off. None of that fits in a prompt.

Brief solves the trust problem by giving the assistant a persistent memory module wired through OpenAI, with the actual mailbox access scoped through Gmail OAuth.

/ How it is built

A NestJS service in front of Postgres via TypeORM. Modules for auth, briefing, chat, gmail, memory, openai, and user. The web client is a small React app that talks to the API.

Auth goes through JWT plus Passport. Gmail access goes through the googleapis SDK with OAuth scopes scoped to read and draft. OpenAI is the only model dependency. The memory module is the keystone. It is what makes “write a follow-up to Sarah in my voice” actually sound like you.

01Web
React + Vite client
02API
NestJS · JWT auth · TypeORM
03Integrations
googleapis (Gmail OAuth) · OpenAI
04Storage
Postgres
/ Key decisions

The trade-offs worth defending.

/ 01

Sit next to the inbox, not in front of it

Replacing Gmail is a five-year company. Augmenting it is a six-week sprint. Brief reads, drafts, and reasons. The user stays in Gmail. The assistant does not become the new mail client.

/ 02

Memory as a first-class module

“Write a follow-up in my voice” needs a few hundred bytes of who-you-are stored somewhere persistent. That is its own concern. So Brief has a memory module, not a hidden prompt string.

/ Stack
NestJSTypeScriptReactOpenAIPostgresTypeORMGoogle APIs