Prefect
  • Blog
  • Customers
Open source48.8k+Get a Demo
Sign In

Product

  • Prefect Cloud
  • Prefect Open Source
  • Prefect Cloud vs OSS
  • Pricing
  • Enterprise
  • How Prefect Works
  • Prefect vs Airflow
  • Prefect vs Dagster
  • FastMCP
  • Prefect Horizon
    NEW

Resources

  • Docs
  • Case Studies
  • Blog
  • Resources
  • Community
  • Learn
  • Support
  • Cloud Status

Company

  • About
  • Contact
  • Careers
  • Legal
  • Security
  • Brand Assets
  • Open Source Pledge

Social

  • Twitter
  • GitHub
  • LinkedIn
  • YouTube

© Copyright 2026 Prefect Technologies, Inc. All rights reserved.

Customer Story · WHOOP

WHOOP’s data platform, back in the green

WHOOP processes about 30TB of data and runs 5,000+ jobs a day on Prefect. By replacing homegrown orchestration with Prefect Cloud, the team cut incidents by 75%, improved mean time to recovery by over 40%, and gave engineers back 30% of every sprint.

Read the full storyGet started
WHOOP×Prefect
Recovery
Strain
HRV
Sleep
SpO2
Watch the WHOOP story↓

WHOOP on Prefect

After switching to Prefect, the incident count was cut by 75 percent. Our mean time to recovery improved by over 40 percent thanks to the observability we get with Prefect.
Carlos PeraltaCarlos PeraltaDirector of Data Platforms and MLOps, WHOOP

Watch the story

On the course with WHOOP

Recovery scores, strain checks, and why the team runs on Prefect.

75%Fewer incidents after switching to Prefect
40%Faster mean time to recovery
30%Of each sprint given back to engineers
30TBOf data processed on Prefect
Now my engineers can focus more on innovation and less on orchestration and plumbing.
Carlos PeraltaCarlos PeraltaDirector of Data Platforms and MLOps, WHOOP

From homegrown to Prefect

Out of the red, into the green

WHOOP’s workflows used to run on duct-taped internal tools with little observability. When a job failed, the team dug through logs to find out why. Prefect Cloud gave them the visibility and reliability to cut incidents by three quarters.

Before

Duct-taped

Homegrown tooling, no observability

Prefect

After

75%

Fewer incidents

How WHOOP uses Prefect

Orchestration that gets out of the way

One platform for ETLs, Spark jobs, and ML pipelines, with the observability and uptime a member-facing product depends on.

Observability and uptime

Know the moment a flow fails

With homegrown tooling, a failed job meant digging through logs or asking around. On Prefect, the team gets deep visibility into every workflow and an alert the moment something breaks, which is what drove mean time to recovery down by over 40%.

Scale without overhead

5,000+ jobs a day, ~30TB of data

WHOOP runs 5,000 to 6,000 jobs a day and processes about 30TB of data on Prefect, including ETLs that move data into Snowflake. Dynamic orchestration meant scaling across use cases without the overhead that used to come with every new workload.

Fits a secure stack

Slots into the way WHOOP builds

Flows run on Kubernetes in AWS, reaching resources through IAM and pod-level identities controlled at the work pool level. Cloud added the SSO and governance WHOOP's strict security requirements demanded. No rewiring required.

On choosing a tool

As engineers, we always want to overengineer everything. But sometimes, the best tool is the one that gets out of your way.
Carlos PeraltaCarlos PeraltaDirector of Data Platforms and MLOps, WHOOP

Uptime means everything

For me, uptime means everything that you’re doing is not interrupted. If flows are failing, you get notified right away.
Carlos PeraltaCarlos Peralta · Director of Data Platforms and MLOps, WHOOP
member_metrics_etl.py
1from prefect import flow, task
2
3
4@task(retries=3, retry_delay_seconds=30)
5def extract(source: str) -> list[dict]:
6 return warehouse.read(source)
7
8
9@task
10def load_to_snowflake(rows: list[dict]) -> int:
11 return snowflake.write("analytics.member_metrics", rows)
12
13
14# A failed run pages the on-call channel the moment it happens.
15@flow(name="member-metrics-etl", log_prints=True)
16def member_metrics_etl(source: str = "s3://whoop/raw"):
17 rows = extract(source)
18 return load_to_snowflake(rows)
Read how WHOOP built its data platform on Prefect

What’s next

Prefect gives us the reliability we need and the speed we want. It’s part of how we scale, and it’s part of how we stay fast.
Carlos PeraltaCarlos PeraltaDirector of Data Platforms and MLOps, WHOOP
Read the full story

Try Prefect for your team

Prefect gives data and ML teams the observability to catch failures early and the reliability to scale without surprises.

Get startedTalk to us