Serverpod for Agencies
Agencies build for clients and then hand the work over. Serverpod puts every project on one stack that the client’s own team runs after you leave.
You pick the stack, the client lives with it
The stack you pick stays with the client for years after you leave. If its vendor raises prices or shuts down, the client remembers who chose it.
Serverpod is open source, and the client keeps the code and the Postgres database. No vendor can charge them for it or take it away.
The same layout on every client project
Your developers move between clients. A custom backend costs them days of reading before they can ship.
Every Serverpod project has the same three packages, the same ORM, and the same commands. serverpod start runs the server, the database, and the app.
New developers learn the product, not the layout. That time stops coming out of your quote.
The client’s team can run it without you
The client’s developers did not write any of it. They open the project for the first time after you leave.
Say the project is a venue guide. serverpod create venue_guide produces this.
venue_guide/
venue_guide_server/ endpoints, models, and migrations
venue_guide_client/ generated from the endpoints, never edited by hand
venue_guide_flutter/ the app
Every project you create has this layout. Serverpod also writes GitHub Actions workflows for analysis, formatting, and tests.
You define data models in .spy.yaml files in the server package. Here is the one for a venue.
class: Venue
table: venue
fields:
name: String
openedAt: DateTime
acceptsWalkIns: bool
Serverpod turns that model into a venue table and a Venue class. Press M in the serverpod start terminal to create the migration, and Serverpod applies it.
// on the server
class VenueEndpoint extends Endpoint {
Future<List<Venue>> list(Session session) =>
Venue.db.find(session);
}
// in the Flutter app
var venues = await client.venue.list();
Serverpod generates that call from the endpoint, so the contract lives in one place. The client’s team keeps one line in the app, and no API document to keep current.
Where it runs, and what it costs
Serverpod Cloud is the maintenance-free path. There is no deployment configuration to write, no server to patch, and no database to tend.
That keeps upkeep small for whoever holds the project next, your team on a retainer or the client’s own developers.
Some clients rule that out. They require their data in one country, or they have a cloud account their security team already approves. Those projects can be self-hosted instead. Serverpod ships as a container, so it runs on the client’s own server and Postgres instance.
Everything included
Why Serverpod
Frequently asked questions
Can we use Serverpod on paid client work?
Yes. The framework is BSD-3-licensed, with no per-seat or per-project fee. No Serverpod licence reaches the client’s invoice.
Can we self-host on the client’s infrastructure?
Yes. Serverpod needs a Postgres instance and somewhere to run a container. The client’s own cloud account qualifies, and Serverpod Cloud is one option rather than a requirement.
What does the client pay to run it after handover?
Self-hosted, they pay their own host for a server and a Postgres instance. On Serverpod Cloud, they pay a plan that starts at five dollars a month.
What happens to the client’s data if they leave Serverpod Cloud?
It stays in Postgres. They export it with the tools they would use on any Postgres database. The container runs wherever they choose.
Which Serverpod version should we start a project on?
Serverpod 4.0 or later. serverpod start and the current migration tooling both landed in 4.0.