End-to-End Agent Deployment
Starting from a Jupyter notebook that runs an agentic-RAG bot, we turn it into a FastAPI service with a vanilla-JS frontend, containerize it, deploy it to Railway, and add a GitHub Actions CI/CD pipeline. Most of the code-writing work is delegated to a coding agent (Claude Code), and the exact prompts I used are quoted verbatim.
Links
The app you will build
The final app looks like this:
The final app is a minimal teaching-assistant chatbot for the
DataTalks.Club Data Engineering Zoomcamp FAQ.
One tool is exposed to the model: search(query). Everything else is the
web layer, the container, and the deploy pipeline.
Appendix
A file inventory of the final repo is in Appendix: file inventory.
Upgrade to Basic to access this workshop
- Full workshop overview
- Complete page list
- Step-by-step tutorial
- Cancel anytime
Tutorial pages
- Overview and setup
- Part 1: The starting notebook
- Part 2: Notebook to FastAPI backend
- Part 3: Vanilla-JS frontend with Vite
- Part 4: Streaming with Server-Sent Events
- Part 5: Dockerize as one container
- Part 6: Deploy to Railway via CLI
- Part 7: GitHub Actions CI/CD
- Deferred items
- Q&A: side discussions
- Appendix: file inventory
More from AI Shipping Labs
Deploying an Agent to AWS Lambda
We start from the FastAPI service we deployed to Railway in the previous workshop, strip out FastAPI, and swap it for a custom AWS Lambda runtime. The runtime handles both the sta…
May 5, 2026
CRISP-DM for AI Engineering: Why a 1996 Framework Still Describes Modern AI Development
See how CRISP-DM still guides AI engineers in 2026, translating each phase into practical workflows for LLM apps, RAG pipelines, and production AI systems.
March 11, 2026
How Claude Code Accidentally Wiped Our AWS RDS Database (24-Hour Recovery)
An incident story: how I accidentally wiped our AWS RDS production database and deleted snapshots by letting Claude Code touch production infrastructure.
March 6, 2026