Back to projects
Shipped·2025·Built by Kata

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
Stack
  • TypeScript
  • Node.js
  • Vercel API
  • GitHub Actions

RELAY

Preview · placeholderFX-001

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 joinsrelay pull and it works.
  • Production API key rotatedrelay rotate STRIPE_KEY updates it everywhere.
  • Before PR reviewrelay diff --env preview shows 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/client and dotenv. Cold start ~80ms.
  • Single binary via pkg for 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

  1. Sep 2025

    Weekend prototype

    A script that pulled envs from Vercel into .env.local. Lived in personal dotfiles.

  2. Oct 2025

    Pulled into a package

    Opened the repo, added tests, wrote a README, shipped v0.1.

  3. 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