Paste a long email and get bullet points, action items, and deadlines using the OpenAI API.
- Node.js 20+
- An OpenAI API key
cd backend
cp .env.example .env
# Edit .env and set OPENAI_API_KEY
npm install
cd ../frontend
npm installUse two terminals.
Terminal 1 — API
cd backend
npm run devTerminal 2 — UI
cd frontend
npm startOpen http://localhost:4200. The UI calls the API at http://localhost:3000.
| Variable | Description |
|---|---|
OPENAI_API_KEY |
Required for summarization |
OPENAI_MODEL |
Model name (default: gpt-4o-mini) |
PORT |
API port (default: 3000) |
Email Summarizer AI Agent built with Angular frontend and Node.js/Express backend in TypeScript. The app sends long emails to an OpenAI‑powered agent that returns a concise bullet‑point summary, action items, and key deadlines.
- Frontend: Angular (TypeScript)
- Backend: Node.js + Express (TypeScript)
- AI: OpenAI Agents SDK (GPT model)
- Architecture: SPA + REST API
frontend/– Angular app with summary form and servicesrc/app/components/summary-formsrc/app/services/summary.service
backend/– Express TypeScript APIsrc/app.ts– main server filesrc/controllers/summarizer.controller.tssrc/routes/summarizer.routes.ts
cd backend
npm installCreate .env in backend/ with your OpenAI key:
OPENAI_API_KEY=sk-...
PORT=3000cd frontend
npm installcd backend
npm run dev # or npx tsx src/app.tscd frontend
ng serveThen open http://localhost:4200 in your browser.
Note: Make sure the backend is running on http://localhost:3000 so the Angular app can send emails to the summarizer API.
MoSalem149