AWS Amplify Alternatives: Backends Without Stitching AWS Services
Good AWS Amplify alternatives fall into two groups, because Amplify does two jobs. For the backend (data, auth, files, functions), the closest replacements are StitchDB, Supabase, Firebase and Appwrite. For frontend hosting and SSR, teams usually move to Vercel, Netlify or Cloudflare Pages. Most people searching for Amplify alternatives want one bill and one dashboard instead of AppSync, DynamoDB, Cognito, Lambda and S3 configured through generated CloudFormation.
#What Amplify is, in practice
Amplify Gen 2 lets you define a backend in TypeScript (amplify/data/resource.ts and friends). The docs describe the data layer as an API powered by AWS AppSync and connected to an Amazon DynamoDB database, with authorization rules and Lambda for custom logic; auth resources are Cognito. Amplify can also connect to existing MySQL and PostgreSQL databases.
Hosting pricing (as of November 2026, from aws.amazon.com/amplify/pricing): build minutes at $0.01/minute on the standard instance, CDN storage at $0.023/GB-month, data transfer out at $0.15/GB, and SSR requests at $0.30 per million plus $0.20 per GB-hour of duration. The free tier for the first 12 months includes 1,000 build minutes, 5 GB storage, 15 GB transfer and 500,000 SSR requests a month. The backend services are billed separately by AppSync, DynamoDB, Cognito, Lambda and S3, each with its own price list.
That flexibility is Amplify's strength. It is also why people leave: the bill and the debugging surface span five or more services.
#Amplify alternatives compared
| Data model | Auth | Pricing model (as of November 2026) | Frontend hosting | |
|---|---|---|---|---|
| AWS Amplify | DynamoDB via AppSync GraphQL, or existing SQL | Cognito | Per service, usage-based | Yes |
| StitchDB | Postgres per project, REST + GraphQL | Built in | Flat plans from $0; Pro $15.99/mo | No (Vercel/Cloudflare integrations) |
| Supabase | Postgres, REST + GraphQL | Built in | Free; Pro from $25/mo | No |
| Firebase | Firestore documents | Firebase Auth | Spark free; Blaze pay as you go | Firebase Hosting |
| Appwrite | TablesDB, DocumentsDB | Built in | Free; Start from $10, Pro from $25 per project | Appwrite Sites |
#Option 1: a Postgres backend (StitchDB or Supabase)
Moving from DynamoDB to Postgres is a data-model change, but for most app data it is a simplification. Amplify's model definitions with hasMany and belongsTo relationships map directly to tables with foreign keys, and authorization rules like "owner can read and write" map to row level security.
An Amplify model like this:
Todo: a.model({
content: a.string(),
done: a.boolean(),
}).authorization((allow) => [allow.owner()])becomes, in Postgres:
create table public.todos (
id uuid primary key default gen_random_uuid(),
owner_id uuid not null default auth.uid() references auth.users on delete cascade,
content text,
done boolean not null default false,
created_at timestamptz not null default now()
);
alter table public.todos enable row level security;
create policy "owner" on public.todos for all to authenticated
using (owner_id = auth.uid()) with check (owner_id = auth.uid());The REST API exists as soon as the table does, and the client call is one line:
const { data } = await stitchdb.from('todos').select('id, content, done').order('created_at')#StitchDB
Each project gets a dedicated Postgres database with Auth (passwords, magic links, OAuth, phone, passkeys, SAML SSO, MFA), REST and GraphQL, Realtime, Storage with image resizing and an S3-compatible API, and Deno Edge Functions. For Amplify users building mobile apps, it also includes push notifications through APNs, FCM and Web Push, and server-side App Store and Google Play purchase checks.
Pricing is flat: Free $0, Pro $15.99/month, Scale $49/month, Enterprise $329/month (as of November 2026). Paid plans start with a spend cap on, so usage stops at the included amounts unless you turn the cap off. Compare that with a per-service AWS bill on pricing and spend cap.
StitchDB does not host frontends. Pair it with Vercel or Cloudflare: the Vercel integration writes the API URL, anon key and Postgres URLs into your Vercel environment variables (with NEXT_PUBLIC_, VITE_ and other prefixes), and the Cloudflare integration does the same for Workers and Pages and can add a Hyperdrive configuration.
Trade-offs: regions are only in the EU (Germany and Finland), so AWS's global regions win if your users are spread worldwide and latency matters. There is no way to run StitchDB inside your own AWS account, and it is a younger platform than AWS.
#Supabase
Supabase gives the same Postgres model with 17 AWS regions and self-hosting. Free projects pause after a week of inactivity; Pro starts at $25/month (as of November 2026). If you want to stay physically close to an existing AWS region, Supabase's region list is an advantage.
#Option 2: stay with documents (Firebase or Appwrite)
If your Amplify app leans on DynamoDB's key-value patterns and you don't want to redesign the data, a document store is a smaller jump.
Firebase has Firestore, Auth, Hosting, Cloud Functions and FCM in one console. On the free Spark plan Firestore includes 1 GiB stored and 50K reads, 20K writes and 20K deletes a day. Cloud Functions and Cloud Storage need the Blaze plan. See Firebase alternatives for its trade-offs.
Appwrite is open source, self-hostable and has a cloud with Free, Start and Pro tiers, functions in many runtimes (Node.js, Python, Go, Dart and more) and Sites for frontends.
#A cost sanity check
Amplify's own pricing page shows how the hosting part adds up: build minutes, CDN storage, data transfer out at $0.15/GB and SSR requests, each billed separately (as of November 2026). The backend services are billed on top. To compare honestly, pull last month's AWS bill, add up AppSync, DynamoDB, Cognito, Lambda, S3 and Amplify Hosting lines, and compare that with a flat plan plus your new frontend host. For many small and mid-size apps the flat plan is lower and, more importantly, predictable. For apps that sit inside AWS free tiers, AWS may stay cheaper.
#When to stay on Amplify
- Your company standardizes on AWS for compliance, IAM and billing.
- You need DynamoDB's scale characteristics or other AWS services (SQS, Step Functions, Bedrock) wired in with IAM.
- You need regions on every continent.
- Your team already knows CDK and CloudFormation and is fine debugging them.
#Migration checklist
- Data. Export DynamoDB tables (for example to S3 as JSON), design tables, and load them. Keep the old
idvalues as primary keys so links survive. - Users. AWS's docs note that you can't retrieve existing passwords from Cognito user profiles, so plan a reset e-mail or magic link sign-in on first login. Keep the Cognito
subin a column if other data refers to it. - Files. Copy S3 objects into buckets with rclone or the AWS CLI pointed at StitchDB's S3 endpoint:
aws s3 cp s3://my-amplify-bucket/public/ s3://avatars/ --recursive \
--profile stitchdb --endpoint-url https://<project-ref>.p.stitchdb.com/storage/v1/s3(Copy from AWS to a local folder first if one profile cannot reach both.)
- Functions. Port Lambda handlers to
Deno.servehandlers.npm:imports cover most packages. - Frontend. Replace the Amplify client with the SDK, and move hosting to Vercel or Cloudflare.
For a direct comparison, read StitchDB vs AWS Amplify.
#FAQ
#What is AWS Amplify Gen 2 built on?
Amplify Data is powered by AWS AppSync with Amazon DynamoDB, and auth uses Cognito, according to the Amplify docs. Each service is billed on its own AWS price list.
#Is there a cheaper alternative to AWS Amplify?
It depends on usage. Flat-priced backends such as StitchDB (Pro $15.99/month as of November 2026) are easier to predict than usage-based AWS services, but very small apps may stay inside AWS free tiers.
#Can I use Postgres with Amplify?
Yes. Amplify can connect to existing MySQL and PostgreSQL databases. You still manage that database yourself.
#Does StitchDB host my frontend?
No. Use Vercel, Cloudflare Pages or any static host; StitchDB integrations keep their environment variables in sync.
Replace five AWS services with one Postgres project: create a free StitchDB project.