An AI-powered email drafting assistant that generates polite, relationship-aware emails with streaming drafts, saved templates, and inline reply options. Designed to reduce editing time while keeping tone appropriate for each recipient.
- User Language Preference in Profile: Users can now set their preferred language in their profile. All AI-generated mails adapt to the chosen language in default.
- Read Status Synchronization: Email read/unread status now syncs reliably across all devices and sessions.
- Attachment Support When Composing Emails: Users can now attach files directly during email composition. Attachments are handled throughout the generation and sending flow.
- Email Deletion: Emails can be deleted directly from the inbox with proper synchronization across the system. (It goes to trash page in Gmail)
- Real-time AI Suggestions: Live text completion as you type with WebSocket streaming
- Smart Reply Options: Generate multiple reply styles (positive/neutral/firm) with SSE streaming
- Contact & Group Management: Organize contacts by groups with personalized AI prompts
- Offline-First Architecture: Local database caching with incremental sync
- Rich Text Editing: Full formatting support (bold, italic, underline, colors, font sizes)
- Template System: Save and reuse frequently used email templates
- Streaming Draft Generation: First sentence appears quickly; content streams until completion
- Relationship-Aware Tone: Select Group (e.g., Manager/Clients) and Tone (e.g., Polite/Formal) and see rules applied
- Inline Reply Options: Positive / Neutral / Firm candidates shown inline; insert with a tap
- Tone Analysis Module: Analyze and apply the user's writing style based on previous emails to the same recipient
- Email Composition Prompt Preview: Review the prompt currently used by the AI to generate emails
- Attachment Preview & AI Analysis: Preview attachments and analyze their contents with AI
- Profile Information Management: Enter details such as name and affiliation to be used in email generation
- Email Draft Saving
- Redo/Undo for AI-Generated Content
- Contact Search
- Docker & Docker Compose
- Android Studio: Iguana or newer, JDK 17
- Android SDK: minSdk 24+
Branch:
iteration-5-demo
git clone https://github.com/snuhcs-course/swpp-2025-project-team-11.git
cd swpp-2025-project-team-11
git switch iteration-5-demoBackend Setup
cd backend
cp .env_example .env # Configure environment variables
poetry install
python manage.py migrate
python manage.py runserverGPU Server Setup (Optional, for AI features)
cd gpu-server
pip install -r requirements.txt
uvicorn app.main:app --host 0.0.0.0 --port 8001Android App Setup
- Open
/frontendin Android Studio - Create
local.propertieswith:sdk.dir=/path/to/Android/sdk base.url=https://your-backend-url.com ws.url=wss://your-backend-url.com/ws/ai/mail/
- Sync Gradle
- Select an emulator/device (e.g., Pixel 7, API 34)
- Run the app (Debug)
Branch:
iteration-1-demo
git switch iteration-1-demo
cp .env_example .env
docker compose up -d --buildDefault URL: http://localhost/
- Gmail Integration: OAuth 2.0 authentication and inbox synchronization
- Personalized email generation: Create tailored emails that reflect the user's writing style and the relationship between the user and the recipient
- Real-time AI Composition: Live text suggestions as you type via WebSocket
- Smart Reply Generation: Multiple reply options (positive/neutral/firm) via SSE streaming
- Contact Management: Organize contacts by groups with custom AI prompts
- Offline-First: Local database caching with background sync
- Rich Text Editor: Full formatting toolbar with HTML support
- Incremental Sync: Only fetch new emails since last update
- Streaming Responses: SSE/WebSocket for real-time AI feedback
- Database Migrations: Safe schema updates without data loss
- JSON Parsing: Clean extraction of AI responses from markdown code blocks
- Attachment AI analysis: Real-time analysis of Gmail attachments and uploaded files to provide summaries, insights, and guidance for composing emails
- Iteration 1 Demo: https://drive.google.com/file/d/1to4deCD6jBssx2V_oZgZU5E5Os2PlfP1/view?usp=sharing
- Iteration 3 Demo: https://drive.google.com/file/d/1UmfNOg-AQAKq9O-n2GzkcnLeweSbvZ1W/view?usp=sharing
- Iteration 4 Demo: https://drive.google.com/file/d/1neQrvApVfsdF6zUwdBuIUTQQ30xQDPFO/view?usp=sharing
- Iteration 5 Demo: https://drive.google.com/file/d/1ZWDsM6QpEsYzoJjJ7BHg5ctzA1HK2hZF/view?usp=sharing