Choose your character

It shows in the top bar and on your profile. Change it any time.

Courses / Data and analytics tools

dbt

Build, test, and document analytics projects in a working dbt-style IDE.

Start lesson 1Practice interviewTake the assessmentPractice the first unit of every course. No account needed.
52lessons
342checked exercises
13projects, cases and exams
Prepares you for Analytics engineering

Projects, case studies and mock exams

Project · BeginnerA shop staging layer

Harbor Cart's merchandising analyst receives duplicate order updates and inconsistent contact codes.

6 steps · 18 min
Case study · BeginnerA late loader

Harbor Cart's morning report looks old.

6 steps · 15 min
Project · IntermediateAn order reporting mart

Harbor Cart finance needs a report that can survive a source correction without changing its definitions.

6 steps · 18 min
Case study · IntermediateConflicting subscription totals

Pulse Path's operations and finance teams report different active-account totals.

6 steps · 15 min
Project · AdvancedReplay-safe order updates

Deliver a current-order model, a two-day replay contract, checks, and currency-aware totals.

6 steps · 28 min
Case study · AdvancedA plan history dispute

Build a snapshot and checked evidence for an observed subscription plan change.

6 steps · 25 min
Project · AdvancedA documented subscription mart

Pulse Path revenue operations needs a small dataset another analyst can adopt without a meeting.

6 steps · 18 min
Project · ExpertA safe model release

The Harbor Cart reporting team wants a smaller release that standardizes customer region codes without rebuilding unrelated work.

6 steps · 18 min
Case study · ExpertA failed reporting release

A Harbor Cart report changed after a release that was meant to clean text codes.

6 steps · 15 min
Mock exam · ExpertCertification-style scenario mock

This independent practice exam contains 65 original scenario questions with a 120-minute time limit.

65 questions · 120 min

Practice analytics engineering in a browser project that compiles Jinja, builds DuckDB models, and checks your results. Start with SQL models and source declarations, then develop reusable staging layers, tests, and reporting marts. Work through original fictional shop and subscription data with duplicates, missing fields, and late corrections. The complete curriculum progresses through incremental processing, history, packages, contracts, and release workflows, with connected projects, incident cases, interviews, and timed certification practice. No local warehouse account is needed.

Beginner

FreeNo account or card needed. Every lesson in this unit is yours to practice.

Project foundations

Build named models, configure relations, and connect dependencies.

4 lessons

Sources and relations

Declare warehouse inputs and choose how transformed relations are stored.

4 lessons

Build and test

Run selected branches, test guarantees, and diagnose an upstream delay.

5 lessons

Intermediate

Analytics models

Build reusable layers and a tested reporting mart.

5 lessons

Jinja and reuse

Generate readable SQL with reusable macros, variables, and isolated targets.

5 lessons

Data quality and documentation

Express scoped data guarantees and document downstream ownership.

5 lessons

Advanced

Incremental processing

Process new arrivals and corrections with explicit keys and replay behavior.

5 lessons

Historical records

Record observed changes and distinguish history from current state.

4 lessons

Packages and guarantees

Reuse package macros and declare execution and schema guarantees.

4 lessons

Expert

Diagnosis and maintenance

Repair compilation defects and evaluate refactors without changing semantics.

4 lessons

Delivery workflows

Validate changed resources with state-aware workflows and a stable consumer contract.

4 lessons

Assessment

Resolve a release incident and practice original certification-style decisions.

3 lessons

Your Work Gym account

Save your progress and pick up on another device. Your browser's progress comes with you.

We'll email you a link. It works once and expires in 15 minutes.

You can keep practicing without an account.