Action-oriented builders. Now open.

Turn AI ideas into real projects

A community for action-oriented builders interested in AI engineering and AI tools. Get the structure, focus, and accountability you need to ship practical AI products.

Build

Practical AI projects

Ship

With structure & accountability

Grow

Through peer collaboration

Philosophy

Learn by building, together

Designed for motivated learners who prefer learning by doing. Get clear frameworks, direction, and community support to make consistent progress on your projects.

Learning by doing

No passive consumption. Every activity is designed around building, shipping, and getting feedback on real work.

Production-ready

Focus on what actually works in production. Move from prototypes to reliable systems with battle-tested patterns.

Build together

Work alongside other practitioners. Hackathons, projects, and group problem-solving instead of isolated learning.

Calibrate your judgment

Develop better instincts through peer feedback, expert guidance, and exposure to real-world decision-making patterns.

Membership

Choose your level of engagement

Each tier is designed for a different type of builder. More investment means more structure, accountability, and support to help you ship your AI projects consistently.

Monthly
Annual (Save ~17%)

Basic

Content only

€200 /year

Educational content without community access.

Access curated educational content, tutorials, and research. Perfect for self-directed builders who learn at their own pace.

  • Full access to exclusive Substack content
  • Hands-on tutorials with code examples you can implement
  • Curated breakdowns of new AI tools and workflows
  • Behind-the-scenes access to ongoing research and experiments
  • Curated collection of valuable social posts you might have missed

Best for independent builders who prefer self-paced learning. Upgrade to Main for structure, accountability, and community support.

Join
Most Popular

Main

Live learning + community

€500 /year

Build with the community and get the accountability and direction you need to make progress.

Everything in Basic, plus the structure, accountability, and peer support to ship your AI projects consistently.

  • Everything in Basic
  • Closed community access to connect and interact with practitioners
  • Collaborative problem-solving and mentorship for implementation challenges
  • Interactive group coding sessions led by a host
  • Guided project-based learning with curated resources
  • Community hackathons
  • Career advancement discussions and feedback
  • Personal brand development guidance and content
  • Developer productivity tips and workflows
  • Propose and vote on future topics

Best for builders who need structure and accountability to turn project ideas into reality alongside motivated peers.

Join

Premium

Courses + personalized feedback

€1000 /year

Accelerate your growth with structured courses and personalized feedback.

Everything in Main, plus structured learning paths through mini-courses and personalized career guidance to accelerate your growth.

  • Everything in Main
  • Access to all mini-courses on specialized topics
  • Collection regularly updated with new courses
  • Upcoming: Python for Data and AI Engineering
  • Propose and vote on mini-course topics
  • Resume, LinkedIn, and GitHub teardowns

Best for builders seeking structured learning paths to complement hands-on projects, plus personalized career guidance.

Join

What learners say

From the students of our AI Engineering course

AI Shipping Labs community is new, but here's what practitioners say about the courses that inspired it.

"This course helped me understand how to implement a RAG system in Python. From basic system-design of a RAG, to evaluating responses and implementing guardrails, the course gave me a great overview of the necessary skills for implementing and managing my own agent."
R

Rolando

AI Data Scientist · AeroMexico

"I highly recommend the AI Engineering Buildcamp. I learned a tremendous amount. The material is abundant, very well organized, and progresses in a logical and progressive manner. This made complex topics much easier to follow and digest. The instructor Alexey Grigorev is clearly very knowledgeable in the field, and also super helpful and responsive to questions."
J

John

AI Tutor · Meta

"Excellent, comprehensive, and modern course that elevated my knowledge of generative AI from RAG applications to well-evaluated, fully functioning agentic systems. Alexey Grigorev incorporated essential software engineering practices, especially unit testing and evaluation, teaching us how to systematically improve our agents."
Y

Yan

Senior Data Scientist · Virtualitics

"I really enjoyed this course! It made the process of building AI agents both accessible and exciting. The progression from RAG to agents, multi-agent systems, monitoring, and guardrails was clear and practical. I'm walking away inspired and full of new ideas to build on."
S

Scott

Principal Data Scientist, Applied AI · interos.ai

"The course provides an excellent introduction to the core tooling needed to develop an agentic tool. Worth the effort especially given the comprehensiveness of the options and solutions available in the course."
N

Naveen

Software Engineer

"Excellent course, it gets you practicing the concepts you need to know to work on agentic AI. The instructor is accessible, clear, and flexible."
N

Nelson

Practitioner

Event Recordings

Workshops & Learning Materials

Workshop recordings with embedded content, timestamps, descriptions, and materials. Learn from hands-on sessions on building AI agents and practical systems.

View all recordings

Deploying Vector Search with SQLite

We take the FAQ agent from the [End-to-End Agent Deployment](/workshops/2026-04-21-end-to-end-agent-deployment) workshop and change how it finds answers. That agent searched the FAQ with minsearch, an in-memory keyword index rebuilt from scratch on every boot. We swap it for semantic vector search that lives in a single SQLite file. Then we host that file on Turso, so the data survives restarts on a free host. The app runs without Postgres, without a rented disk, and without a server billed while it sits idle. A coding assistant drives each step, and we include the prompts so you can reproduce the workflow with any agent. ## The two changes We make two moves, in order. 1. Swap minsearch for [`sqlitesearch`](https://github.com/alexeygrigorev/sqlitesearch). Retrieval becomes semantic, and it persists in one SQLite file instead of memory. Embeddings come from a lightweight ONNX model, so PyTorch stays out of the dependency tree. 2. Host that SQLite file on [Turso](https://turso.tech), a hosted libSQL service with a generous free plan that does not expire. The agent reads it through a local replica. The data survives restarts, and the searches stay fast. ```mermaid flowchart LR subgraph ingest["ingest (offline, once)"] FAQ["FAQ JSON"] --> EMB1["ONNX embed"] EMB1 --> LSH["sqlitesearch<br/>vector index"] LSH -->|writes| TURSO[("Turso<br/>hosted libSQL")] end subgraph serve["serve (every request)"] UI["client"] -->|POST /ask| API["FastAPI"] API --> AGENT["agent loop"] AGENT -->|search tool| SEARCH["sqlitesearch"] SEARCH -->|local reads| REPLICA["embedded replica"] AGENT -->|model call| OPENAI["OpenAI"] end TURSO -.->|syncs down on boot| REPLICA ``` The system splits into two halves that never run at the same time. Ingest is an offline job. It fetches the FAQ and embeds every entry with the ONNX model. Then it builds a vector index and writes it straight to Turso. Serve is the running app. On boot it opens an embedded replica that syncs the data down from Turso once. Every `search` tool call then reads from that local copy. The agent loop, the `search` tool, and the OpenAI call are unchanged from the previous workshop. Only what sits behind the tool is different. I made the change for a practical reason. We deployed the previous workshop to Railway on a trial, and the trial ended. Most free tiers drop Postgres and persistent disk once the trial is over. That wipes anything stored on local disk at the next restart. Turso keeps the data outside the host on a generous free plan. The app can move to any free platform and still find its vectors. ## Links Resources used here: - [End-to-End Agent Deployment](/workshops/2026-04-21-end-to-end-agent-deployment) - the workshop this one builds on. - [sqlitesearch](https://github.com/alexeygrigorev/sqlitesearch) - the vector search library, with the libSQL backend used here. - [LLM Zoomcamp ONNX embedder lesson](https://github.com/DataTalksClub/llm-zoomcamp/blob/main/02-vector-search/lessons/09-onnx-embedder.md) - the source of the lightweight embedder.

Jun 09, 2026
View resource

Serving Open Models with vLLM on RunPod

Serving an open-source model yourself means renting a GPU and running an inference server on it. In this workshop we take a quantized DeepSeek model and rent a GPU by the hour on RunPod. We serve it with vLLM behind an OpenAI-compatible API. Then we point a small tool-calling FAQ agent at it, the same way we would point it at OpenAI. Most of the code is written by an AI assistant (Codex), and the prompts are quoted verbatim. This was a freestyle session with no prep, so it also surfaces the dead ends: - A model that does not fit the card. - A full container disk. - An SSH session that keeps dropping. - A tool parser that needs a flag we did not set. Each one has a fix worth keeping. ## Links These materials are related: - [Previous workshop: end-to-end agent deployment](/workshops/2026-04-21-end-to-end-agent-deployment) - [RunPod console](https://console.runpod.io/) - [vLLM documentation](https://docs.vllm.ai/) - [Modal vLLM inference tutorial](https://modal.com/docs/examples/vllm_inference) ## The system you build The model runs on the rented GPU, not on your laptop. Everything you write locally talks to it over HTTP, exactly the way it talks to OpenAI. Only the base URL and the API key change. The setup has these pieces: - A GPU pod on RunPod runs the model. - vLLM serves it behind an OpenAI-compatible HTTP API. - RunPod's HTTPS proxy exposes that API, guarded by a bearer token. - The FAQ agent runs on your laptop and calls one `search` tool. ```mermaid flowchart LR AGENT["FAQ agent<br/>(your laptop)"] PROXY["RunPod HTTPS proxy<br/>&lt;pod-id&gt;-8000.proxy.runpod.net"] VLLM["vLLM server<br/>OpenAI-compatible API"] GPU["GPU pod<br/>DeepSeek-R1-Distill-Qwen-14B-AWQ"] FAQ["DataTalks.Club FAQ"] AGENT -->|"POST /v1/chat/completions + Bearer token"| PROXY PROXY --> VLLM VLLM --> GPU AGENT -->|search tool| FAQ ``` The model is [stelterlab/DeepSeek-R1-Distill-Qwen-14B-AWQ](https://huggingface.co/stelterlab/DeepSeek-R1-Distill-Qwen-14B-AWQ), a 14-billion-parameter model quantized to fit a single 24 GB consumer GPU. The agent is the FAQ search agent from the [end-to-end agent deployment workshop](/workshops/2026-04-21-end-to-end-agent-deployment). We port it from the OpenAI Responses API to vLLM's chat completions API. It answers Data Engineering Zoomcamp questions with one `search` tool against the course FAQ. ## Workshop flow We build the workshop in this order: - Rent a GPU by the hour on RunPod and connect over SSH. - Install vLLM and serve a quantized model. - Fit the model on the card, then move the caches to the pod volume. - Port the FAQ agent and get the open model to make tool calls. - Reach the model over the network with an API key. - Make the whole thing reproducible with a one-command deploy. - Shut everything down, including the storage that keeps billing after the pod is gone. The reproducible deploy recreates the part the live session ran out of time to finish. The teardown step is the one I learned the hard way: stopping the pod does not stop the storage bill.

Jun 02, 2026
vllm runpod
View resource

Solving a Real AI Engineer Take-Home Assignment Live

We solve a real AI engineer take-home assignment live. The product is a small investment coaching bot that answers public-company research questions without crossing into personalized financial advice. The flow of the session: - Brainstorm scope and survey data sources. - Build a CLI agent with PydanticAI and OpenAI. - Pivot from a paid market-data API to free SEC EDGAR data after the free tier blocks us. - Clean up the pointless tests the coding agent generated and write test guidelines we actually want to follow. - Add a small evaluation harness with scenarios and an LLM judge. - Wrap the result as a Telegram bot. Every step is done alongside a coding agent. The prompts are included verbatim so you can reproduce the workflow with any agent you like. ## Links Useful resources for this workshop: - [AI engineering take-home assignments research](https://maven.com/p/250595/ai-engineering-take-home-assignments) - [AI engineering field guide: home assignments](https://github.com/alexeygrigorev/ai-engineering-field-guide/blob/main/interview/questions/06-home-assignments.md) ## The app you will build The final app looks like this: ```mermaid flowchart LR USER["User"] TG["Telegram bot"] CLI["CLI app"] AGENT["PydanticAI agent<br/>safety + structured output"] TOOLS["SEC tools<br/>search, snapshot,<br/>filings, digest"] EDGAR["SEC EDGAR<br/>company facts + filings"] OPENAI["OpenAI Responses API"] USER --> TG USER --> CLI TG --> AGENT CLI --> AGENT AGENT -->|tool call| TOOLS TOOLS -->|HTTP JSON| EDGAR AGENT -->|model call| OPENAI ``` The agent has four tools, all backed by free SEC EDGAR endpoints: - `search_company(query)` resolves a ticker or company name to a CIK. - `get_financial_snapshot(ticker_or_cik)` fetches recent annual revenue, profit, balance sheet, and cash facts from companyfacts XBRL data. - `get_latest_filings(ticker_or_cik)` returns recent filing metadata and SEC URLs. - `get_filing_digest(ticker_or_cik, form_type)` pulls the latest 10-K or 10-Q text and extracts business, revenue, risk, and MD&A snippets. The agent has a strict safety boundary baked into its instructions: - no buy/sell/hold recommendations - no position sizing - no predictions of price direction A buy/sell question gets transformed into an educational research brief instead. The evaluation harness lives in `evals/manual/`. It runs a list of scenarios from `scenarios.csv` through the agent and captures the full tool-call trajectory. An LLM-as-judge then scores whether the answer stayed inside the safety boundary and addressed the question.

May 19, 2026
View resource

FAQ

Common questions

Who is this community for?
Action-oriented builders interested in AI engineering and AI tools who want to turn ideas into real projects. Whether you're learning Python or working as an ML engineer, if you have project ideas but need structure, focus, and accountability, this community is for you. We attract motivated learners who prefer learning by doing and builders who contribute back to the ecosystem.
What makes this different from other tech communities?
We focus on helping you ship practical AI products, not just consume content. You get clear frameworks, direction, and gentle external pressure to make consistent progress on your projects. The community concentrates highly engaged builders in a focused environment centered on productivity, structured execution, and hands-on project work.
I have a main job. Can I still participate?
Yes. The community is designed to help you make consistent progress on side projects even with limited time. You get the structure and accountability to stay focused and ship incrementally through projects, hackathons, and collaborative activities.
What if I just want the content without community?
The Basic tier is designed exactly for this. You get access to exclusive content, tutorials, research, and curated materials without any expectation of community participation. Perfect for self-directed builders who learn at their own pace.
What's included in the Main tier?
Main tier gives you the structure, accountability, and peer support to ship your AI projects consistently. Includes everything in Basic, plus closed community access, collaborative problem-solving, interactive group coding sessions, guided projects, hackathons, career discussions, and the ability to propose and vote on topics.
What's included in the Premium tier?
Premium tier accelerates your growth with structured learning paths through mini-courses and personalized career guidance. Includes everything in Main, plus access to all mini-courses on specialized topics, the ability to vote on course topics, and professional profile teardowns (resume, LinkedIn, GitHub).
How do I get started?
Pick the tier that fits your needs, click the button to check out securely via Stripe, and you'll receive access details by email within 24 hours. You can start with any tier and upgrade or downgrade at any time.
How does billing work?
All payments are processed securely through Stripe. You can choose monthly or annual billing (annual saves ~17%). Stripe handles tax calculation automatically based on your location. You'll receive invoices and receipts by email after each payment.
Can I cancel or change my subscription?
Yes, you're in full control. You can cancel, upgrade, downgrade, or update your payment method at any time through the Stripe Customer Portal. If you cancel, you'll retain access until the end of your current billing period.