Relay
A tiny CLI for syncing env vars between local dev, preview deploys, and production — without extra magic or a SaaS bill.
- TypeScript
- Node.js
- Vercel API
- GitHub Actions
- Year2025
- Duration6 weeks
- Team1 person
- RoleBuilt by Kata
- TypeScript
- Node.js
- Vercel API
- GitHub Actions
RELAY
Why
Every project with a .env.local eventually devolves into "works on my machine." Someone adds a var in Vercel, someone forgets, and the dev server dies in the middle of the day.
Existing tools either wanted to own your entire environment (doppler, infisical) or required manual export/import (vercel env pull). We wanted something in the middle: a thin wrapper that does one thing and stays out of the way.
What it does
relay pull # pull env from Vercel/prod into .env.local
relay pull --env preview
relay push # push local changes to Vercel (with diff)
relay diff # show what differs, no push
relay rotate <KEY> # rotate a secret across Vercel and .env
Scenarios
- New teammate joins —
relay pulland it works. - Production API key rotated —
relay rotate STRIPE_KEYupdates it everywhere. - Before PR review —
relay diff --env previewshows what differs from prod.
What it doesn't do
- Doesn't store secrets itself. Uses Vercel as the source of truth.
- Doesn't try to become a "platform" — no dashboard, no team, no SaaS plan.
- Doesn't work with other hosting providers. Just Vercel. Maybe later.
Implementation notes
- Zero runtime deps besides
@vercel/clientanddotenv. Cold start ~80ms. - Single binary via
pkgfor CI, npm package for humans. - Tests via native
node:test. No jest/vitest.
Metrics
- ~340 downloads/week on npm
- 23 issues, 19 closed
- 4 contributors beyond us
What's next
Probably nothing radical. The tool solves its job — if a big feature request lands, we'll look at it. Otherwise it stays as is. Small utilities live longer when you don't let them sprawl.
Milestones · Timeline
Sep 2025
Weekend prototype
A script that pulled envs from Vercel into .env.local. Lived in personal dotfiles.
Oct 2025
Pulled into a package
Opened the repo, added tests, wrote a README, shipped v0.1.
Nov 2025
Two-way sync
relay push — write local changes back to Vercel with a diff and a confirmation step.
Up next
More from the studio
Start a project
Tell usabout it.
Describe what you're building — we'll reply within 48 hours with a clear next step. No fluff, no templates.
- 48h reply
- Personal touch
- No commitment

