Skip to content

snuhcs-course/swpp-2025-project-team-11

 
 

Repository files navigation

Xend

xend

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.

Xend Login Screen Xend Mail List Screen Xend Compose with Keyboard Xend Contacts Screen Xend Improved Reply Options

Features

What's New in Iteration 5

  • 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)

Previous Iterations

  • 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

Getting Started

Prerequisites

  • Docker & Docker Compose
  • Android Studio: Iguana or newer, JDK 17
  • Android SDK: minSdk 24+

Installation

For Iteration 5 Demo

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-demo

Backend Setup

cd backend
cp .env_example .env   # Configure environment variables
poetry install
python manage.py migrate
python manage.py runserver

GPU Server Setup (Optional, for AI features)

cd gpu-server
pip install -r requirements.txt
uvicorn app.main:app --host 0.0.0.0 --port 8001

Android App Setup

  1. Open /frontend in Android Studio
  2. Create local.properties with:
    sdk.dir=/path/to/Android/sdk
    base.url=https://your-backend-url.com
    ws.url=wss://your-backend-url.com/ws/ai/mail/
  3. Sync Gradle
  4. Select an emulator/device (e.g., Pixel 7, API 34)
  5. Run the app (Debug)

For Iteration 1 Demo (Legacy)

Branch: iteration-1-demo

git switch iteration-1-demo
cp .env_example .env
docker compose up -d --build

Default URL: http://localhost/

What Iteration 5 Demonstrates

Core Features

  • 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

Technical Highlights

  • 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

Demo Videos

About

snuhcs-course-swpp-2025-project-team-11

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Kotlin 85.5%
  • Python 14.5%