← Back to projects

Cindie AI

Shipped
Backend Engineer•January 2025 - Present
PythonQuartFirebaseGCPTwilioasyncio

AI messaging agents integrated with Twilio for enterprise clients, handling bulk campaigns to 5,000–10,000 users.

5,000–10,000 users
Campaign Size
5,000+
Concurrent Tasks
15%
Performance Improvement
2 hours
Batching Window

Overview

AI messaging agents integrated with Twilio for enterprise clients, handling bulk campaigns to 5,000–10,000 users.

Scale

  • Users: 5,000–10,000 per campaign
  • Concurrency: 5,000+ concurrent background tasks

My Role

Backend Engineer

Responsibilities

  • Built AI messaging agents integrated with Twilio API
  • Designed and implemented bulk messaging workflow with batching
  • Owned async background task system using asyncio
  • Implemented retry logic and idempotency mechanisms
  • Optimized database queries and indexes based on production metrics

Key Contributions

  • Designed bulk messaging workflow sending to 5,000–10,000 users in batches over two hours
  • Built async background task system handling 5,000+ concurrent tasks using asyncio
  • Implemented retry logic and idempotency for reliable message delivery
  • Improved latency and database queries by 15% through indexing and query optimization based on production metrics

Architecture

FastAPI backend with async background task system using asyncio. Integrates with Twilio for messaging. PostgreSQL for data persistence. No external queue system used.

System Diagram

┌─────────────┐     ┌──────────────┐     ┌─────────────┐
│   Client    │────▶│   Quart    │────▶ │   Twilio   │
│  (Web/API)  │     │   Backend    │     │    API     │
└─────────────┘     └──────────────┘     └─────────────┘
                            │
                            ▼
                    ┌──────────────┐
                    │   Background │
                    │   Tasks      │
                    │  (asyncio)   │
                    └──────────────┘
                            │
                            ▼
                    ┌──────────────┐
                    │   Database   │
                    │ (Firebase)   │
                    └──────────────┘

Components

  • Quart Backend: Main API service handling messaging requests and campaign management.
  • Background Task System: Async background task system using asyncio, handling 5,000+ concurrent tasks without external queue.
  • Twilio Integration: Integration with Twilio API for sending messages in bulk campaigns.
  • Database: Firebase storing campaign data, message status, and user information with optimized queries.

Outcome

  • Shipped bulk messaging system handling 5,000–10,000 user campaigns
  • Built async background task system processing 5,000+ concurrent tasks
  • Improved production latency and database performance by 15%
  • Implemented reliable retry and idempotency mechanisms

If I Had More Time

  • Add real-time campaign progress tracking
  • Implement analytics dashboard for campaign performance
  • Add support for scheduled campaigns
  • Optimize batch sizing based on Twilio rate limits