John Huang← Back to projects

Case study

InboxIQ

Production email-intelligence platform spanning Gmail sync, LLM triage, and a full-stack dashboard.

  • Next.js
  • FastAPI
  • Supabase
  • Gmail API
  • Vercel
  • 11 / 11MVP acceptance criteria delivered
  • ≥85%triage accuracy on evaluation fixtures
  • 20migrations behind row-level security
  • 6P0 blockers closed after midpoint review

Overview

InboxIQ is an end-to-end email intelligence product that takes users from authentication and Gmail OAuth synchronization through LLM triage and a dashboard.

I shipped the system to production on Next.js and Vercel with a FastAPI backend on Railway, delivered all 11/11 MVP acceptance criteria, and closed six P0 blockers after midpoint review.

Email automation combines sensitive OAuth credentials, tenant-isolated data, asynchronous ingestion, and probabilistic model output. The architecture needed strong security boundaries while keeping synchronization and triage work off the interactive request path.

My contribution

I designed and shipped the full product flow across the Next.js frontend, FastAPI services, PostgreSQL data model, Gmail integration, background workers, and deployment infrastructure.

Implementation

Gmail OAuth 2.0 tokens are stored server-side only behind JWT-authenticated FastAPI endpoints. Supabase PostgreSQL row-level security provides the primary tenant-isolation boundary across 20 migrations.

Background synchronization and triage workers process new mail outside the request path. The LLM pipeline performs classification, summarization, and structured extraction with Pydantic JSON-schema validation plus provider failover and retry logic.

Challenges

The hardest part was joining OAuth security, row-level data isolation, background processing, and fallible model output into one reliable product flow. An automated evaluation harness and strict structured-output validation kept triage quality measurable, holding ≥85% accuracy on test fixtures.

What I learned

InboxIQ reinforced that an AI feature is only one part of a production system. Credential handling, tenant isolation, migrations, background execution, schema validation, retries, evaluation, and deployment all determine whether the model is actually useful.