Skip to content

Deploys that land at 2am.

Queue it before you log off. Nightshift ships it in the quiet window, holds it to your health checks, rolls it back if it has to, and leaves a report to read with coffee.

Next window opens in
--:--:--
Deploys landed since 2023
1,284,906
Rolled back on their own
0.4%
Sign power

3,912 teams ship while they sleep. Freight, rail, payments and shops whose busiest hour is nobody's 2am, passing under the lamp.

Everything that happens while you sleep, on one panel.

The queue, the window, the checks, and the switch that decides what happens when one fails. Press run and tonight plays out at a few hundred times the speed.

A queue, not a release train.

Merge whenever. Everything waits for the window, goes out one at a time, and each deploy has to earn the next.

Tonight on production5 queued for 02:00
  1. storefronta1c93e2

    Cache product pages at the edge

    Queued
  2. billing-api7f02d1b

    Retry webhooks with jittered backoff

    Queued
  3. search3be8c40

    Bump tokenizer to 2.4

    Queued
  4. authc04f7aa

    Rotate session signing keys

    Queued
  5. mobile-bffe91d5a7

    Drop v1 auth headers

    Queued

Simulated. Nothing leaves this page.

Ship in the quiet hours.

Your users' 2am, not yours. Pick the nights; Fridays are off unless you insist.

Next window02:00–04:00 local

Hours, minutes, seconds

No Friday nights. Obviously.

Checks that hold for a minute.

Each canary step is watched against your rules before any more traffic moves.

Watching storefrontPassing
p95
184 ms
5xx
0.02%
Checks
3 of 3

One switch for the bad nights.

Flip it off mid-run to see what the 2am page used to feel like.

  • p95 latency< 400 ms
  • 5xx rate< 1%
  • GET /healthz200

Armed. Break a rule for 60 seconds and the release is rolled back before the next step.

Read it with coffee.

What shipped, what didn't and the graph that decided it, waiting in Slack at 07:30.

Nightshift07:30Night of 12 Oct

Good morning. Here's last night.

landed
5
checkout, storefront, search, auth, mobile-bff
rolled back
0
nothing tripped
paged
0
nobody woke up

Window used: 14 min of 120

Two commands, then go to bed.

storefront · zsh
$ npx nightshift init
linked   okapi/storefront
targets  preview · staging · production
checks   /healthz · p95 < 400 ms · 5xx < 1%
$ nightshift queue production --window 02:00
queued   storefront@a1c93e2, 5th in line
window   02:00 Europe/Lisbon · in 4h 12m
✓ You can close the laptop.

Commit nightshift.toml and the whole team queues the same way.

Nightshift runs the deploy step you already have. Init finds your targets and a sane set of health checks; queue does the rest.

npm install -D @nightshift/cli

Node 18 or later. No daemon, no agent on your servers.

Binary
6.1 MB, one file
Reads from
GitHub, GitLab
Deploys to
Vercel, Fly, Kubernetes, ECS
License
MIT

Pay per seat. Deploys are on us.

Ship as often as you like on every paid plan. People who only read the morning report never count as seats.

2 months free

Crew

Most teams start here

For teams that ship every night.

$$20 per seat per month, billed $240 yearly

Projects
No limit
Deploys
No limit
Seats
Up to 50
  • Everything in Solo, reports kept a year
  • Rules on p95, error rate or any Prometheus query
  • Canary steps: 10% → 50% → 100%
  • Slack, PagerDuty and Linear
  • A freeze calendar for holidays and launches
Start 14-day trial

One project and a bedtime.

$Free

Projects
1
Deploys
60 / mo
Seats
1
  • One nightly window per environment
  • HTTP health checks on /healthz
  • Rollback on a failed check
  • The morning report, by email

For orgs with windows in every time zone.

$$40 per seat per month, billed $480 yearly

Projects
No limit
Regions
Any
Seats
No limit
  • Everything in Crew, plus SSO and SCIM
  • Approvals for production windows
  • An audit log your auditor will like
  • 99.99% uptime SLA, support in 1 hour

Every plan: unlimited readers, rollbacks that never count against you, and no per-deploy fees.

Compare every line

Fewer alarms set for 1:55am.

14 → 0After-hours pages a month, Okapi Freight

“We moved every production deploy to 02:00 and stopped staying late on Thursdays. 212 releases since March, three rollbacks, and nobody's phone rang for any of them.”

Priya Raman, Staff engineer at Okapi Freight

The rollback fired at 02:07 and the report was in my inbox at 07:30 with the graph that tripped it. I had the fix up before standup.

Tom Weller, Engineering manager at Saltmarsh

I stopped setting alarms for releases. That's the review.

Sam Okoro, CTO at Pellucid

Canary at 10%, p95 over 400 ms for a minute, gone. It's done that four times and been right four times.

Marcus Bell, SRE at Brickyard

−31 hRelease-night overtime a month

We ran a release rota: one engineer a week, awake from one to three with a checklist. The rota's gone. The checklist is four lines of nightshift.toml now.

Hannah Lindqvist, Infrastructure lead at Coldharbour

Our customers are asleep at 2am too, which is the whole point. The error budget went from a monthly argument to a number nobody needs to look at.

Ines Duarte, Platform lead at Verso Rail

We rolled it out to 60 engineers in a week. The freeze calendar alone stopped two Christmas incidents.

Grace Achebe, Engineering manager at quillon

I queue my CSS at five and wake up to a link. It's like having a release manager who doesn't mind nights.

Aiko Tanaka, Design engineer at tessel

11% → 2.4%Change failure rate

Smaller batches, shipped every night, checked every time. The DORA numbers moved on their own.

Dana Whitfield, VP Engineering at Arkline

Every production window has an approver, a diff and a reason. Our auditor asked for the log once and had no follow-up questions.

Rafael Mendes, Security lead at Halvard & Co.

Our runbook had a section called “babysit the release”. I deleted it in March and nobody noticed.

Owen Price, On-call lead at Plinth

What teams ask before the first night.

Mostly about what happens when something goes wrong while everyone is asleep. Short version: it rolls back, and you hear about it at breakfast.

Last updated 9 Oct 2026

It rolls back on its own. A release has to hold your health rules for a minute at each canary step; the first one it breaks, Nightshift shifts traffic back, keeps the graphs, and puts the whole thing at the top of the morning report. Nobody is paged unless the rollback itself fails.

Still have a question?

Three engineers who have all been paged at 2am answer in daylight hours, usually within 11 minutes. Send your deploy setup and we'll sketch what a window would look like.

crew@nightshift.example
deploy tonight

Queue something tonight.

Free for one project, and fourteen days of Crew with no card. Set it up before dinner, read the first report at breakfast.

Disarmed. Lift the guard to arm it.

Next window in--:--:--

Get started