Tissue vs Vercel

Both put a site on a URL from a command line or a git push. The difference is what happens to everything behind the page, and what the free plan lets you do with it.

If you are shipping a Next.js front end and buying your data layer somewhere else, Vercel is very good at that and this page is not going to talk you out of it.

Two things send people here. Vercel's free plan is non-commercial — their fair-use page puts it as “Hobby teams are restricted to non-commercial personal use only” — so a site that takes one payment or carries one ad needs Pro at $20 a month per seat. And the database, the file storage, the scheduled job and the sign-in are separate products with separate meters; here they are four lines in one file.

What each one is

Two sentences each, before any numbers.

Vercel
A front-end platform. You connect a Git repository, it builds your framework and serves the result from its network, with serverless functions beside the static files. Data is bought separately: a database, a blob store and a key-value store are each their own product on their own meter, several of them supplied by other vendors.
Tissue
One Cell — a JavaScript or WebAssembly function answering on a URL — with a SQL database, object storage, scheduled runs, sign-in and secrets attached to it by name in ribo.toml. ribo deploy puts the code, the static files and every attachment live in one step.

Side by side

Every figure below came off the other company’s own pages, on one day, and is dated underneath.

VercelTissue
Free planHobby, $0. Non-commercial personal use only — charging for the site or running ads on it requires a paid plan. Donations do not count as commercial.Spore, $0, no card. Commercial use included.
Entry paid planPro, $20 a month per seat, one seat included.Strand, $5 a month, three seats.
What is meteredFunction invocations, active CPU, provisioned memory, fast data transfer, fast origin transfer, edge requests, image transformations, cache reads and cache writes, among others.Two numbers: CPU-milliseconds and gigabytes stored.
Requests1,000,000 function invocations included on Hobby. Beyond the Pro credit, $0.60 per million.Not metered, on any plan.
Egress100 GB of fast data transfer and 10 GB of fast origin transfer on Hobby, then billed.Free and not metered.
SQL databaseA separate product with its own plan, several of them from third-party vendors.c3, one line in ribo.toml. 1 GiB free, 5 GiB on Strand.
File storageBlob, 1 GB on Hobby, then billed per gigabyte.g7, 5 GiB free, 20 GiB on Strand. Browsers upload straight to it over a presigned URL.
Scheduled jobsCron jobs, with the count and the shortest interval set by the plan.pulse, a cron line in the config. 3 schedules free, 10 on Strand, down to one minute.
Sign-in for your usersNot a platform feature. Password-protecting a project is $20 a month for that project; real user accounts are your code plus somebody else's service.gate, one block in the config: an email domain, or a list of addresses.
Custom domains50 per project on Hobby.None on the free plan. 5 on Strand, 25 on Colony.
Add-onsSAML single sign-on $300 a month, a HIPAA agreement $350, static IPs $100 per project, a preview-deployment suffix $100.None. Every plan has every feature; the plans differ in how much of it you get.

Checked 16 September 2026 against Vercel's pricing, limits and fair-use pages. Both of us move; if a figure here has gone stale, tell us and we will correct it.

Where Vercel is the better choice

This section is not decorative.

If the project is a Next.js application, Vercel builds it, the framework's own authors work there, and the parts that only work on their platform work there first. We serve static files and run a function; we do not build your framework for you.

If you want a preview URL on every pull request, with comments left on the preview and a hundred deploys a day, that whole workflow is theirs. Tissue deploys from your machine or your CI, and there are no preview environments.

If the site has to be quick everywhere, their network is far larger than our six serving locations, and image optimisation, web analytics and speed monitoring are products you switch on rather than build.

And if you already pay for Pro and the extra products, what you would gain by moving is a smaller bill, not a capability. That is a reasonable thing to decide against.

Where tissue is the better choice

The free plan has no clause about what you are allowed to earn on it. A site that sells one thing, takes one donation or carries one ad stays on Spore.

One bill, on two numbers. Requests, database rows, storage operations and egress are not counted at all, so a page that goes around the internet for a day costs whatever its CPU cost.

The data is in the same deploy as the site. ribo.toml names a database, a bucket, a cron line and a sign-in policy; the command that ships the HTML creates them and hands them to your code on env.

Nothing is behind a plan. Sign-in, secrets, cron and storage are all on the $0 plan; paying buys more of the same thing, not a different feature list.

What moving looks like

A site with a form behind it, moved off a front-end host. The static files stay static files, the API route becomes the Cell's fetch handler, and the database it was talking to becomes a binding.

[cell]
name = "site"
js   = "./cell.js"

[[bindings]]
type    = "files"
binding = "FILES"
dir     = "public"

[[bindings]]
type     = "c3"
binding  = "DB"
database = "signups"
$ ribo deploy
uploading   cell.js
publishing  ./public
attaching   c3

live  https://site.quartz-4b.tissue.dev

The database and the bucket are created on that first deploy if they are not there yet. ribo deploy is the whole pipeline: there is no build step to configure and no second place to put the static files.

Spore is $0, takes no card, and allows commercial use. If tissue turns out to be the wrong shape for what you are building, you will know inside an afternoon.

Start free 5 Cells, a SQL database, file storage and cron.

The other comparisons