Video summary

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

Main summary

Key takeaways

Technology

Summary

This end-to-end tutorial builds an AI customer-support system for a fictional Amazon seller, Harbor and Pine. The system monitors a Gmail inbox, classifies customer messages, answers questions using a company knowledge base, and escalates uncertain or sensitive cases to human staff through an admin dashboard.

Architecture and Implementation

Backend and Project Setup

The course creates a Python project with uv and FastAPI, starting with a health-check endpoint. It separates production application code from one-off development scripts and uses environment variables for secrets and configuration.

Gmail Integration

A Gmail API client handles message retrieval, threads, labels, and replies. Access is configured through Google Cloud OAuth. In the tutorial’s test setup, OAuth credentials are limited to a test user, and the refresh token is described as valid for seven days.

Inbox Monitoring

A background poller checks Gmail at regular intervals: every 30 seconds in the demo, with a 60-second default. The instructor contrasts polling, which is simpler to set up, with webhooks, which can respond immediately but require a public HTTPS endpoint.

Database and Data Model

Supabase/PostgreSQL stores events, tickets, messages, and knowledge-base content. A ticket groups related messages in a Gmail thread, while the events table records processing activity. The course uses the Supabase CLI and SQL migrations to define and update the schema.

Email Safety Checks

Rules prevent responses to the system’s own messages and filter cases such as automated or bulk mail. The system also applies Gmail labels to track processing and escalation.

Knowledge Base

Markdown files describe product details, policies, shipping, tone of voice, and escalation rules. A seed script loads them into the database. The agent retrieves relevant sections rather than including the entire knowledge base in every prompt.

AI Pipeline

Pydantic AI and structured Pydantic models organize the workflow:

  1. A classifier categorizes each email and identifies its language, escalation needs, and other metadata.
  2. A support agent uses tools to retrieve relevant knowledge-base sections and draft a response.
  3. Deterministic Python logic applies business rules and decides whether to reply or escalate.

The course emphasizes structured outputs, separate stages, and programmatic guardrails rather than relying on one large prompt. Escalation conditions include angry customers, refund requests, attachments the system cannot analyze, insufficient information, and proposed actions the agent cannot actually perform.

Testing and Evaluations

A “golden” dataset contains sample emails and expected classifications or actions. An evaluation runner tests the pipeline, identifies failures, and supports prompt or knowledge-base improvements.

The tutorial also demonstrates using an AI coding agent to investigate errors and refine prompts, while warning against overfitting to individual test examples.

Deployment

The project is containerized with Docker and deployed to an Ubuntu VPS. The walkthrough covers SSH keys, a firewall restricted to the developer’s IP, a separate deploy user, a repository-specific GitHub deploy key, server-side environment variables, and Docker Compose.

The deployed service can be updated by pulling code changes and rebuilding or restarting its containers. Supabase network restrictions are also configured for the developer’s and server’s IP addresses.

Admin Dashboard

A React, TypeScript, and Vite frontend, using shadcn/ui components, displays events and tickets and allows staff to edit knowledge-base entries. The dashboard communicates with FastAPI endpoints.

The tutorial protects the dashboard with basic authentication and accesses the deployed version through an SSH tunnel rather than exposing it publicly.

Key Guidance and Limitations

The instructor stresses that reliable AI applications depend on data modeling, traceable events, explicit business rules, and evaluation—not just model selection or prompt-writing.

Polling is chosen for tutorial simplicity. Webhooks, public-domain HTTPS, stronger authentication, and more advanced server configuration are presented as possible next steps. The dashboard is intentionally basic and is described as a foundation for further development.

Tutorial and Resources

  • Format: A build-along tutorial, not a product review.
  • Companion guide: A written guide provides setup instructions and code snippets for following the project.
  • The course also demonstrates optional AI coding agents and dictation software during development.

Main Speaker and Sources

  • Dave Ebbelaar — instructor and primary speaker. He describes the project as based on experience with client work.
  • Companion written guide — referenced throughout the tutorial for setup steps and code.

Rate this summary

Your feedback will help improve summaries.

Improve this summary

Reprocess with a stronger model when the summary feels incomplete or inaccurate.

Pro

Translate summary in another language

Pro

Ask questions to this video

Chat for follow-up questions, clarifications, and source-backed answers.

Coming soon

Share this summary

Original video