Hosted Tiffin · early access

All your apps.
One server.
One price.

ShipTiffin gives you a server of your own with everything an app needs already on it: a database, sign-in, email, file storage and background jobs. Run as many projects as fit, deploy them with git push or let your coding agent do it, and give each one the limit you choose.

Pricing isn’t set yet. Early access: email hello@shiptiffin.com.

Your boxone server, yours alone
  1. shopUp to 40%
    Web app · Database · Files · Sign-in
  2. guestbook512 MB
    Web app · Database · Email
  3. blogAutomatic
    Static site · Analytics
  4. reportsUp to 10%
    Jobs · Database
  5. Room for the next one
Each project is a tier with the limit you give it. One that hits its limit is held there; the rest keep running.

Everything an app needs is already on the box.

No separate accounts for the database, storage, email or analytics. Each project gets its own, set up when you ask for it.

Apps
Next.js, Hono, Bun and static sites. A preview for every pull request, rollbacks to earlier deploys.
Database
Postgres 18 for each project, with branches for previews and regular restore points.
KV
Valkey, Redis-compatible, for caches, sessions and counters.
Files
S3-compatible buckets, private or public, with image resizing.
Sign-in
Email and password, magic links, passkeys, and Google, GitHub and other providers.
Email
Send from any app. Until you connect a mail service, every message waits in a test inbox.
Jobs
Queues, crons and workflows. The box pushes each job to your app and retries until it succeeds.
Logs and analytics
Logs, metrics, errors and visit counts without cookies, all kept on the box.
Domains
Your own domain with HTTPS. Certificates are issued and renewed for you.

How it works

  1. We set up your box.

    One server per customer. Nobody else’s apps run on it, and you sign in to its dashboard with your own account.

  2. Describe a project.

    Pick its parts in the dashboard, or write them in tiffin.config.ts next to your code. Both are the same thing underneath, so you can switch at any time.

  3. Ship it.

    Push to git, run tiffin deploy, or ask your coding agent: every operation is also an MCP tool. Each change is planned before it runs, recorded in History, and can be undone.

tiffin.config.ts
export default defineConfig({
  project: "shop",
  apps: { web: { framework: "next" } },
  services: {
    postgres: {}, auth: {}, email: {},
  },
  resources: { maxSharePercent: 40 },
});
Terminal
$ tiffin plan
$ git push tiffin main

Limits per project, not surprise bills.

You pay one flat price for the box. Projects share it on their own: each grows into what’s free, and slows down rather than failing when the box is busy.

When you want a fixed share, give a project a limit: a share of the box, or an amount of memory, CPU or storage. Its database, cache and builds are held to it too, so a side project that suddenly gets busy can’t take the others down, or run up a bill.

Room to grow, and a door out.

Move to a bigger server when you need one. Export any project to a single .tiffin file with its code, data and files, import it on another box, or move it there in one step.

Everything on the box is a standard piece: Postgres, S3-compatible storage, a Redis-compatible store and SMTP. A project that outgrows one server can leave for any platform that speaks them.

What it’s for, honestly.

Good for

  • Side projects, experiments and small products
  • Apps your coding agent builds and runs for you
  • Running many small apps without paying for each one

Not yet for

  • Anything that must stay up if one server goes down: it’s one machine
  • Work that needs a stable platform today: Tiffin is before version 1.0

Want a box?

We’re letting people in a few at a time. Tell us what you’d run on it.