Run the same jobs on a cleaner grid
Sorrel reads the 48-hour carbon forecast for every region you run in, then moves flexible work (training runs, ETL, backups) into the cleanest hours before its deadline. One label on the job. No new pipeline.
Free for 2,000 job runs a month · Installs with one Helm chart
embed-catalog
Batch · 3 h · 22 kW · due 08:00
Carbon intensity forecast · gCO₂e/kWh · ENTSO-E day-ahead
Drag the job to try another start time
- Runs
- 18:00 → 21:00
- Done 11 h early
- Emissions
- 31.8 kg CO₂e
- Avg 482 g/kWh
- At 18:00, like cron
- 31.8 kg CO₂e
- Runs the moment it's submitted
- Saved
- 0%
Wind picks up after midnight. 14:00 is cleaner still, but that's past the deadline.
Platform teams shifting work with Sorrel
- Halcyon Bio
- Parcel & Co
- northwind rail
- QUILL
- Ferro Labs
- Mosswood
How it works
From a cron line to a cleaner run
Sorrel sits next to your scheduler, not in front of it. Jobs keep their manifests, their queues and their owners.
1+apiVersion: batch/v12+kind: CronJob3+metadata:4+name: embed-catalog5+annotations:6+sorrel.dev/deadline: "08:00"7+spec:8+schedule: "0 18 * * *"9+jobTemplate:10+spec:11+backoffLimit: 2
Also works as an Airflow deadline= argument and a GitHub Actions sorrel/wait@v2 step.
- regions
- 41
- refresh
- 15 min
- 24 h error in Sep
- ±6%
- 18:00SubmittedHeld. Deadline 08:00, p95 runtime 3 h 12 m
- 18:00PlannedStart 03:15 in eu-central-1, 45% cleaner
- 03:15Released20 pods scheduled on gpu-pool-b
- 06:09Completed1 h 51 m before the deadline
- 06:09Reported8.1 kg CO₂e avoided, added to Q4
Built for production
Cleaner, without new risk
Every guardrail a platform team asks for in the first call, on by default. Nothing here needs a ticket to turn on.
Deadlines are hard limits
Sorrel learns each job's p95 runtime and never holds it past the latest safe start. A lower number is never worth a late report.
g/kWh now12 jobs → Stockholm
- Stockholm31 g
- Paris54 g
- Dublin182 g
- Frankfurt341 g
- VirginiaEU only
Follow the clean region
When residency rules allow, jobs move to the region with the cleanest hour.
Reports auditors accept
Location- and market-based Scope 2 figures per team, in the GHG Protocol format.
Usually cheaper, too
Clean hours overlap with low spot prices. Median change across customers in 2026.
- ml-trainingWaiting for clean hours
- data-pipelinesWaiting for clean hours
- nightly-backupsRuns on submit
Off in one click
Switch a namespace off and its jobs run on submit again. Nothing to migrate back.
Estimate
What would shifting save you?
Three inputs, the same forecasts as the scheduler above. We'd rather under-promise: a flat grid gets a small number.
Training, batch inference, ETL, CI on main. Not your API.
Avoided every year
6.3t CO₂e
About 10 one-way flights from London to New York.
Assumes 1.1 kWh per GPU-hour (H100-class node incl. cooling) and 23% lower intensity in the best 3-hour window versus the Frankfurt daily mean.
“We stopped arguing about which jobs were important enough to move. Sorrel moves all of them, and tells us the one time it couldn't.”
- training carbon
- −41%
- missed deadlines
- 0
- to full rollout
- 1 day
Pricing
Priced per cluster, not per job
Hold as many runs as you like. Start free on one cluster and upgrade when the report convinces you.
Starter
One cluster, to see what your jobs could save.
$0
free, no card
Start free- 2,000 job runs a month
- 1 cluster, 3 regions
- Deadline guard
- Weekly email report
Team
Most teamsFor platform teams with real deadlines.
$192
per cluster / month, billed yearly
Start a 14-day trial- Unlimited job runs
- All 41 regions
- Region shifting with residency rules
- Slack and PagerDuty alerts
- Scope 2 reports in CSV and PDF
Enterprise
For sustainability teams and their auditors.
Custom
annual contract
Talk to us- Everything in Team
- SSO and SCIM
- Read-only auditor seats
- Self-hosted forecast mirror
- 99.95% uptime SLA
- Dry-run week before anything is held
- SOC 2 Type II
- EU data residency
- Cancel from the dashboard
Non-profits and research labs get Team for free. Ask us
Questions
What platform teams ask first
Anything else, ask the people who wrote the scheduler. Replies come from an engineer, usually within a working day.
Will this slow down my jobs?
Only jobs you label are held, and never past their deadline minus the p95 runtime we've measured for them. Unlabelled workloads are never touched, and a held job starts immediately if the cluster is about to scale down.
Where does the carbon data come from?
Grid operators: ENTSO-E in Europe, EIA for the US, AEMO in Australia and a dozen others, refreshed every 15 minutes. The 48-hour forecasts are ours, and we publish their accuracy every month.
What does Sorrel need access to?
A scheduler extension in your cluster with read access to pod specs and write access to their start time. Job payloads and data never leave your cloud account.
Can we use the numbers in our CSRD or SECR report?
Reports follow the GHG Protocol Scope 2 guidance with both location-based and market-based figures. Several customers have had them signed off by auditors; we can't promise yours will, but we'll join the call.
What happens if Sorrel goes down?
Held jobs fall back to running on submit. The agent keeps a 48-hour forecast cached in the cluster, so a short outage on our side doesn't change any schedule.