Phase 1 MVP
Build career momentum with visible, repeatable progress.
Python Practice
Hands-on drills tuned for AI engineering.
Practice implementation muscle memory instead of passively reviewing notes.
Python Refresh Drill 1
easyPython Refresh
Implement a solution for **python-refresh** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exerciseData Transformation Drill 2
mediumData Transformation
Implement a solution for **data-transformation** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exerciseApi Async Drill 3
hardApi Async
Implement a solution for **api-async** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exercisePrompt Formatting Drill 4
easyPrompt Formatting
Implement a solution for **prompt-formatting** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exerciseEmbeddings Drill 5
mediumEmbeddings
Implement a solution for **embeddings** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exerciseRetrieval Drill 6
hardRetrieval
Implement a solution for **retrieval** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exerciseEvaluation Drill 7
easyEvaluation
Implement a solution for **evaluation** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exerciseSystem Design Coding Drill 8
mediumSystem Design Coding
Implement a solution for **system-design-coding** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exercisePython Refresh Drill 9
hardPython Refresh
Implement a solution for **python-refresh** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exerciseData Transformation Drill 10
easyData Transformation
Implement a solution for **data-transformation** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exerciseApi Async Drill 11
mediumApi Async
Implement a solution for **api-async** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exercisePrompt Formatting Drill 12
hardPrompt Formatting
Implement a solution for **prompt-formatting** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exerciseEmbeddings Drill 13
easyEmbeddings
Implement a solution for **embeddings** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exerciseRetrieval Drill 14
mediumRetrieval
Implement a solution for **retrieval** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exerciseEvaluation Drill 15
hardEvaluation
Implement a solution for **evaluation** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exerciseSystem Design Coding Drill 16
easySystem Design Coding
Implement a solution for **system-design-coding** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exercisePython Refresh Drill 17
mediumPython Refresh
Implement a solution for **python-refresh** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exerciseData Transformation Drill 18
hardData Transformation
Implement a solution for **data-transformation** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exerciseApi Async Drill 19
easyApi Async
Implement a solution for **api-async** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exercisePrompt Formatting Drill 20
mediumPrompt Formatting
Implement a solution for **prompt-formatting** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exerciseEmbeddings Drill 21
hardEmbeddings
Implement a solution for **embeddings** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exerciseRetrieval Drill 22
easyRetrieval
Implement a solution for **retrieval** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exerciseEvaluation Drill 23
mediumEvaluation
Implement a solution for **evaluation** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exerciseSystem Design Coding Drill 24
hardSystem Design Coding
Implement a solution for **system-design-coding** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exercisePython Refresh Drill 25
easyPython Refresh
Implement a solution for **python-refresh** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exerciseData Transformation Drill 26
mediumData Transformation
Implement a solution for **data-transformation** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exerciseApi Async Drill 27
hardApi Async
Implement a solution for **api-async** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exercisePrompt Formatting Drill 28
easyPrompt Formatting
Implement a solution for **prompt-formatting** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exerciseEmbeddings Drill 29
mediumEmbeddings
Implement a solution for **embeddings** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exerciseRetrieval Drill 30
hardRetrieval
Implement a solution for **retrieval** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exerciseEvaluation Drill 31
easyEvaluation
Implement a solution for **evaluation** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exerciseSystem Design Coding Drill 32
mediumSystem Design Coding
Implement a solution for **system-design-coding** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exercisePython Refresh Drill 33
hardPython Refresh
Implement a solution for **python-refresh** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exerciseData Transformation Drill 34
easyData Transformation
Implement a solution for **data-transformation** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exerciseApi Async Drill 35
mediumApi Async
Implement a solution for **api-async** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exercisePrompt Formatting Drill 36
hardPrompt Formatting
Implement a solution for **prompt-formatting** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exerciseEmbeddings Drill 37
easyEmbeddings
Implement a solution for **embeddings** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exerciseRetrieval Drill 38
mediumRetrieval
Implement a solution for **retrieval** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exerciseEvaluation Drill 39
hardEvaluation
Implement a solution for **evaluation** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exerciseSystem Design Coding Drill 40
easySystem Design Coding
Implement a solution for **system-design-coding** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exercisePython Refresh Drill 41
mediumPython Refresh
Implement a solution for **python-refresh** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exerciseData Transformation Drill 42
hardData Transformation
Implement a solution for **data-transformation** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exerciseApi Async Drill 43
easyApi Async
Implement a solution for **api-async** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exercisePrompt Formatting Drill 44
mediumPrompt Formatting
Implement a solution for **prompt-formatting** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exerciseEmbeddings Drill 45
hardEmbeddings
Implement a solution for **embeddings** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exerciseRetrieval Drill 46
easyRetrieval
Implement a solution for **retrieval** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exerciseEvaluation Drill 47
mediumEvaluation
Implement a solution for **evaluation** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exerciseSystem Design Coding Drill 48
hardSystem Design Coding
Implement a solution for **system-design-coding** that reflects a real AI engineering workflow. Focus on readability, typed outputs, and failure handling.
Open exerciseNormalize provider payloads into a typed response model
easyPython Refresh
Write a function that accepts a loose provider response and returns a normalized typed payload with explicit error handling.
Open exerciseAggregate model latency metrics from JSONL traces
mediumData Transformation
Given a JSONL file of request traces, compute per-model latency averages, P95, and failure counts.
Open exerciseRetry a provider call with timeout and backoff
mediumApi Async
Implement an async wrapper that retries retryable provider failures with a timeout and bounded backoff.
Open exerciseRender a safe prompt template from user input
easyPrompt Formatting
Build a template renderer that separates trusted system instructions from untrusted user input and outputs a final prompt payload.
Open exerciseScore retrieval candidates with metadata boosts
mediumRetrieval
Combine vector similarity and metadata weighting into a final retrieval score for candidate chunks.
Open exerciseCompute faithfulness and citation coverage from judge results
mediumEvaluation
Take evaluation outputs and summarize pass rate, faithfulness score, and citation coverage per prompt version.
Open exerciseParse JSONL benchmark rows into normalized records
easyPython Refresh
Implement this task with explicit validation, predictable output shape, and enough error handling that it could survive reuse in a real AI workflow.
Open exerciseSummarize token usage by endpoint and model
easyData Transformation
Implement this task with explicit validation, predictable output shape, and enough error handling that it could survive reuse in a real AI workflow.
Open exerciseDetect malformed retrieval chunks before indexing
mediumRetrieval
Implement this task with explicit validation, predictable output shape, and enough error handling that it could survive reuse in a real AI workflow.
Open exerciseEnforce provider timeout defaults from env config
mediumApi Async
Implement this task with explicit validation, predictable output shape, and enough error handling that it could survive reuse in a real AI workflow.
Open exerciseCompute confusion matrix from classifier review logs
mediumEvaluation
Implement this task with explicit validation, predictable output shape, and enough error handling that it could survive reuse in a real AI workflow.
Open exerciseBuild a slug generator for lesson and project records
easyPython Refresh
Implement this task with explicit validation, predictable output shape, and enough error handling that it could survive reuse in a real AI workflow.
Open exerciseValidate article metadata before publish
easyData Transformation
Implement this task with explicit validation, predictable output shape, and enough error handling that it could survive reuse in a real AI workflow.
Open exerciseBatch provider requests with concurrency limits
hardApi Async
Implement this task with explicit validation, predictable output shape, and enough error handling that it could survive reuse in a real AI workflow.
Open exerciseMerge keyword and vector retrieval results
mediumRetrieval
Implement this task with explicit validation, predictable output shape, and enough error handling that it could survive reuse in a real AI workflow.
Open exerciseCompare benchmark runs and highlight regressions
mediumEvaluation
Implement this task with explicit validation, predictable output shape, and enough error handling that it could survive reuse in a real AI workflow.
Open exerciseParse CLI args for an evaluation runner
easyPython Refresh
Implement this task with explicit validation, predictable output shape, and enough error handling that it could survive reuse in a real AI workflow.
Open exerciseGroup API errors into actionable retry buckets
mediumData Transformation
Implement this task with explicit validation, predictable output shape, and enough error handling that it could survive reuse in a real AI workflow.
Open exerciseBuild an async health check for provider adapters
mediumApi Async
Implement this task with explicit validation, predictable output shape, and enough error handling that it could survive reuse in a real AI workflow.
Open exerciseFilter retrieval contexts by recency and source type
easyRetrieval
Implement this task with explicit validation, predictable output shape, and enough error handling that it could survive reuse in a real AI workflow.
Open exerciseScore prompt variants by pass rate and cost
mediumEvaluation
Implement this task with explicit validation, predictable output shape, and enough error handling that it could survive reuse in a real AI workflow.
Open exerciseWrite a pathlib-based artifact export helper
easyPython Refresh
Implement this task with explicit validation, predictable output shape, and enough error handling that it could survive reuse in a real AI workflow.
Open exerciseClean scraped text before chunking
easyData Transformation
Implement this task with explicit validation, predictable output shape, and enough error handling that it could survive reuse in a real AI workflow.
Open exerciseThrottle background ingestion tasks with backpressure
hardApi Async
Implement this task with explicit validation, predictable output shape, and enough error handling that it could survive reuse in a real AI workflow.
Open exerciseAssemble citation spans from retrieved snippets
hardRetrieval
Implement this task with explicit validation, predictable output shape, and enough error handling that it could survive reuse in a real AI workflow.
Open exerciseAudit benchmark failures by category
mediumEvaluation
Implement this task with explicit validation, predictable output shape, and enough error handling that it could survive reuse in a real AI workflow.
Open exerciseMap provider enums into internal response states
easyPython Refresh
Implement this task with explicit validation, predictable output shape, and enough error handling that it could survive reuse in a real AI workflow.
Open exerciseCompute rolling latency stats for model routes
mediumData Transformation
Implement this task with explicit validation, predictable output shape, and enough error handling that it could survive reuse in a real AI workflow.
Open exerciseRetry only idempotent ingestion steps
hardApi Async
Implement this task with explicit validation, predictable output shape, and enough error handling that it could survive reuse in a real AI workflow.
Open exerciseRank support documents with freshness boosts
mediumRetrieval
Implement this task with explicit validation, predictable output shape, and enough error handling that it could survive reuse in a real AI workflow.
Open exerciseBuild a review queue from low-confidence outputs
mediumEvaluation
Implement this task with explicit validation, predictable output shape, and enough error handling that it could survive reuse in a real AI workflow.
Open exerciseSerialize experiment configs to reproducible snapshots
easyPython Refresh
Implement this task with explicit validation, predictable output shape, and enough error handling that it could survive reuse in a real AI workflow.
Open exercisePrepare dashboard series from daily usage rows
easyData Transformation
Implement this task with explicit validation, predictable output shape, and enough error handling that it could survive reuse in a real AI workflow.
Open exerciseWrap streaming provider responses into stable chunks
hardApi Async
Implement this task with explicit validation, predictable output shape, and enough error handling that it could survive reuse in a real AI workflow.
Open exerciseDeduplicate retrieval candidates across indexes
mediumRetrieval
Implement this task with explicit validation, predictable output shape, and enough error handling that it could survive reuse in a real AI workflow.
Open exerciseCalculate judge agreement on evaluation labels
hardEvaluation
Implement this task with explicit validation, predictable output shape, and enough error handling that it could survive reuse in a real AI workflow.
Open exerciseProtect temp files during dataset generation
easyPython Refresh
Implement this task with explicit validation, predictable output shape, and enough error handling that it could survive reuse in a real AI workflow.
Open exerciseReconcile mismatched event timestamps
mediumData Transformation
Implement this task with explicit validation, predictable output shape, and enough error handling that it could survive reuse in a real AI workflow.
Open exerciseImplement bounded polling for long-running jobs
mediumApi Async
Implement this task with explicit validation, predictable output shape, and enough error handling that it could survive reuse in a real AI workflow.
Open exerciseExpand metadata filters into SQL-ready conditions
mediumRetrieval
Implement this task with explicit validation, predictable output shape, and enough error handling that it could survive reuse in a real AI workflow.
Open exercise