Email Service

Handles email composition, rendering, and delivery for transactional and marketing emails

Overview

The Email Service handles all email-related functionality, from template rendering to delivery tracking.

Key Responsibilities

  • Render email templates with dynamic content
  • Send transactional emails (notifications, invites)
  • Send digest emails (daily/weekly summaries)
  • Track email opens and clicks
  • Handle bounce and complaint management
  • Manage email unsubscribe preferences

Technical Details

Technology Stack:

  • Runtime: Python 3.11
  • Framework: FastAPI
  • Email Provider: SendGrid
  • Template Engine: Jinja2
  • Queue: AWS SQS
  • Database: PostgreSQL (delivery tracking)

Email Types:

  • Transactional: Task assignments, mentions, invites
  • Digest: Daily/weekly activity summaries
  • Marketing: Product updates, feature announcements
  • System: Password resets, security alerts

SLA:

  • Email Delivery: < 30 seconds
  • Template Rendering: < 100ms
  • Delivery Rate: > 99%