StitchDB vs AWS Amplify: One Project or Five AWS Services?
AWS Amplify and StitchDB both promise a full backend without running servers, but they deliver it in different ways. Amplify Gen 2 is a TypeScript-defined layer that provisions real AWS services for you: AppSync and DynamoDB for data, Cognito for auth, Lambda for functions, S3 for files, and Amplify Hosting for the frontend, each billed separately. StitchDB is one managed project with a dedicated Postgres database, Auth, REST and GraphQL APIs, Realtime, Storage and Edge Functions on one plan with a spend cap. Amplify wins on AWS integration and global regions; StitchDB wins on simplicity, SQL and a predictable bill.
#At a glance
| AWS Amplify (Gen 2) | StitchDB | |
|---|---|---|
| Backend definition | TypeScript files in amplify/ deployed as AWS resources | Tables and policies in SQL migrations, settings in the dashboard or CLI |
| Data | AppSync GraphQL API on DynamoDB; can connect existing MySQL/PostgreSQL | Postgres per project, REST and GraphQL generated from the schema |
| Auth | Cognito | Built-in Auth: passwords, magic links, OAuth, phone, passkeys, SAML SSO, MFA |
| Functions | Lambda | Deno Edge Functions, SQL functions, cron, queues, background jobs |
| Files | S3 | Storage buckets with policies, image resizing, S3-compatible API |
| Frontend hosting | Amplify Hosting with SSR | Not included (Vercel and Cloudflare integrations) |
| Billing | Per AWS service, usage-based | One plan: Free $0, Pro $15.99/mo, Scale $49/mo (as of November 2026) |
| Regions | AWS regions worldwide | EU only: Germany and Finland |
| Runs in your AWS account | Yes | No |
#Developer workflow
Amplify: you write amplify/data/resource.ts, amplify/auth/resource.ts and so on, run a cloud sandbox, and Amplify generates amplify_outputs.json with the endpoints and keys for your frontend. Under the hood it deploys CloudFormation through CDK, so you can drop down and modify the generated resources. That is powerful when you need it, and it means stack traces and limits come from several AWS services when things go wrong.
StitchDB: you create tables in Studio or in SQL migration files, test them locally, and push:
npm install -g stitchdb-cli
stitchdb start # local Postgres, Auth, REST, Realtime, Storage, Functions
stitchdb migration new add_projects # write SQL in the new file
stitchdb db reset # rebuild the local DB from migrations
stitchdb db push # apply to the hosted project
stitchdb gen types typescript -o types.ts # types from the schemaLocal development runs as native processes without Docker. On paid plans, each pull request can get its own preview branch through the GitHub App. See migrations.
#Data: DynamoDB vs Postgres
Amplify Data gives you a GraphQL API backed by DynamoDB tables, with relationships and authorization rules declared in the schema. DynamoDB scales extremely well for key-based access, and Amplify hides most of its single-table design work.
Where it gets harder is ad-hoc queries, reporting and aggregation: those usually mean extra indexes, a Lambda resolver, or exporting to another service. In Postgres they are SQL:
select date_trunc('week', created_at) as week, count(*) as signups
from auth.users
group by 1
order by 1 desc
limit 12;StitchDB also gives you joins through the REST API, jsonb for flexible fields, 50+ extensions (pgvector, PostGIS, pg_trgm, pg_cron and more), and direct connections for ORMs like Prisma and Drizzle on port 6543. See connect.
#Auth: Cognito vs built-in
Cognito is a capable identity service with deep IAM integration. It is also a separate product with its own configuration, triggers and limits, and users live outside your database.
StitchDB Auth stores users in your project's database (auth.users), so policies use auth.uid() directly and you can join users with your own tables. It covers passwords, magic links and e-mail codes, OAuth providers, phone sign-in with your SMS provider, anonymous users, Web3 wallets, passkeys, SAML single sign-on, MFA, hooks to customize tokens, and organizations with members and invites for B2B apps. Auth e-mails are included on every plan.
#How each bill is built
An Amplify app's bill is the sum of its parts. Amplify Hosting alone (as of November 2026, per aws.amazon.com/amplify/pricing) charges $0.01 per build minute, $0.023 per GB-month of storage, $0.15 per GB served, and $0.30 per million SSR requests plus $0.20 per GB-hour. AppSync, DynamoDB, Cognito, Lambda and S3 are added from their own price lists. Each has a free tier, and AWS Budgets can alert you, but there is no single cap on the total.
StitchDB's bill is the plan price, with usage above the included amounts only if you turn the spend cap off (as of November 2026):
| Free | Pro | Scale | |
|---|---|---|---|
| Price | $0 | $15.99/mo | $49/mo |
| Database per project | 500 MB | 10 GB | 20 GB |
| Files | 1 GB | 100 GB | 250 GB |
| Egress | 25 GB | 1 TB | 2 TB |
| Monthly active users | 50,000 | 100,000 | 200,000 |
| Function invocations | 500,000 | 2M | 5M |
With the cap off, overage rates are published per resource (for example egress at $0.02/GB on Pro). A monthly spending limit and prepaid credit always bound the total. See spend cap.
#Mobile features
Amplify has libraries for Swift, Android, Flutter and React Native, and you add push, crash reporting and analytics with other AWS or third-party services. StitchDB has SDKs for JavaScript, Flutter, Swift, Kotlin Multiplatform, C# (.NET, MAUI, Unity) and Python, and includes push to APNs, FCM and Web Push, server-side App Store and Google Play purchase verification, offline sync, deep links, crash reporting and analytics in the same project.
#Regions and compliance
Amplify runs in AWS regions around the world, inside your AWS account, under your IAM policies and AWS's compliance programs. StitchDB runs only in EU data centers (Falkenstein and Nuremberg in Germany, Helsinki in Finland). For EU-focused apps that simplifies GDPR questions; for global audiences, latency and data location requirements may favor AWS. See security.
#Security model
Amplify relies on AWS's security building blocks: IAM roles, Cognito user pools, AppSync authorization rules, and S3 bucket policies, each configured in its own service. That is very flexible and lets security teams use the AWS tools they already know.
StitchDB puts the rules in one place. Each project has its own database, roles, JWT secret and API keys; all APIs are HTTPS and Postgres connections require TLS; and row level security policies decide what every request, realtime message and file access may touch. The public anon key is safe in browsers because RLS limits it, while the service_role key stays on servers. Studio's advisors flag tables in public without RLS.
#When to choose which
Choose AWS Amplify if:
- Your organization is standardized on AWS accounts, IAM and billing.
- You need DynamoDB-scale key-value access or other AWS services wired in.
- You need regions on several continents or must run inside your own cloud account.
- You want frontend hosting and backend from one AWS console.
Choose StitchDB if:
- You want one product, one dashboard and one capped bill.
- Your data is relational and you want SQL.
- You want push, purchases and offline sync without extra vendors.
- Your users are mainly in Europe.
For other options, read AWS Amplify alternatives and how to avoid surprise backend bills.
#FAQ
#Can I use StitchDB with Next.js on Vercel instead of Amplify Hosting?
Yes. The Vercel integration syncs the API URL, keys and Postgres URLs into your Vercel environment variables.
#Does Amplify support Postgres?
Amplify can connect to existing MySQL and PostgreSQL databases; you run that database yourself, for example on Amazon RDS.
#Can StitchDB run in my AWS account?
No. StitchDB is a managed service in its own EU data centers.
#Is StitchDB cheaper than Amplify?
For many small and mid-size apps the flat plan is easier to predict. Very small apps may cost nothing on AWS free tiers, and the AWS free tier for Amplify Hosting lasts 12 months.
Replace the AWS service list with one Postgres project: create a free StitchDB project.