Dave Ebbelaar

Full-Stack AI Engineering Course (FastAPI, LLMs, Docker, Supabase)

Published 2026-10-30 · Duration 3:10:07

Summary

This course provides a comprehensive, full-stack guide to building a production-ready AI customer support agent. The system connects a Gmail inbox to a FastAPI backend, uses Pydantic AI and Claude for agent logic, and stores all data in Supabase. The workflow includes setting up a polling mechanism, implementing complex data models (Events, Tickets, Messages), and establishing robust guardrails to ensure reliable, automated responses. The final stages cover deploying the entire system using Docker on a real server, resulting in a portfolio-ready project.

Download summary

Key takeaways

  1. End-to-End AI Architecture

    The system is built from scratch, covering the full stack: Gmail API integration, FastAPI backend, Pydantic AI/Claude agent logic, Supabase data storage, and a React admin dashboard. This contrasts with tutorials that only cover LLM API calls.

  2. Data Flow and Polling Mechanism 27:53

    The system uses a poller (running every 30-60 seconds) to check the Gmail inbox, which is simpler to set up than webhooks, especially when a public domain is not available for the initial setup.

  3. Structured Data Modeling (Supabase) 38:42

    The database structure is designed hierarchically: Events (the ledger of all actions), Tickets (the main customer interaction), and Messages (individual communications). This structure is crucial for enterprise-grade support software.

  4. Advanced AI Agentic Workflow 1:00:00

    The pipeline uses a multi-step agentic approach: 1) Classification (using a smaller model like Haiku) to determine the topic/need for human escalation; 2) Action/Reply (using a powerful model like Sonnet) to generate a structured response; and 3) Guardrails (to prevent the agent from promising actions it cannot fulfill).

  5. Deployment and Production Readiness 1:05:00

    The final steps involve setting up the server, deploying the application using Docker, and creating an admin dashboard, which are critical skills for job interviews.

Technical details

  • Project Setup & Dependencies 657s

    Use `uv init` to set up the Python project structure. Key dependencies include FastAPI, Pydantic, and the Google OAuth library. Environment variables are managed using a `.env.example` file and loaded via Pydantic settings.

  • Gmail API Integration 1057s

    Requires setting up a project in the Google Cloud Console, enabling the Gmail API, and configuring the OAuth consent screen. The process involves generating credentials and obtaining a refresh token using a helper script to maintain API access.

  • Database Migration (Supabase) 1842s

    The database schema is defined using SQL migrations via the Supabase CLI (`supabase db push`). Core tables include `events`, `tickets`, `messages`, and `knowledge_base`. The connection is established using a direct connection string and session pooler.

  • AI Pipeline Implementation 2100s

    The pipeline is orchestrated in `pipeline.py`. It processes incoming messages by calling `start_event` (to log the activity), then running the classification agent, and finally calling the reply agent. The process ensures that every action is logged as an event in the database.

  • Agentic Workflow Best Practices 2500s

    The architecture separates concerns: a dedicated Classifier Agent (e.g., using Claude Haiku) and a main Agent (e.g., using Claude Sonnet). This modularity prevents context window overflow and allows for programmatic control over the response flow.

  • Guardrails and Reliability 2800s

    Guardrails are implemented at multiple points (e.g., checking if the message was sent by the system, or if the agent should escalate). This ensures the AI cannot enter infinite reply loops or take unauthorized actions.

Mentioned resources

Channel & topics

Watch on YouTube · Back to latest

This independent, AI-assisted summary is provided for commentary and informational purposes. It may contain errors or omit important context. Please watch the original video for the creator's complete presentation. Video, thumbnail, and related copyrights belong to their respective owners.