AWS has 200+ services and deploying a simple app takes 3 days of YAML. SST wraps AWS in TypeScript components — deploy a Next.js app, API, database, and cron jobs with a few lines of code.
What SST Gives You for Free
- TypeScript infrastructure — define AWS resources in code
- Live Lambda Dev — edit functions, see changes in real-time
- Console — web dashboard for your AWS resources
- Full-stack — frontend + API + database + cron in one project
- Components — high-level abstractions for common patterns
- No lock-in — generates standard CloudFormation
Quick Start
npx sst@latest init
npx sst dev
Deploy a Next.js App
// sst.config.ts
export default $config({
app(input) {
return { name: 'my-app', region: 'us-east-1' };
},
async run() {
new sst.aws.Nextjs('Web');
}
});
Run npx sst deploy — your Next.js app is on AWS with CloudFront CDN.
Full-Stack Example
// sst.config.ts
export default $config({
app(input) {
return { name: 'my-saas', region: 'us-east-1' };
},
async run() {
// Database
const db = new sst.aws.Postgres('Database');
// API
const api = new sst.aws.ApiGatewayV2('Api');
api.route('GET /users', 'packages/functions/src/users.list');
api.route('POST /users', 'packages/functions/src/users.create');
// Cron job
new sst.aws.Cron('DailyReport', {
schedule: 'rate(1 day)',
job: 'packages/functions/src/report.handler'
});
// Frontend
new sst.aws.Nextjs('Web', {
environment: {
NEXT_PUBLIC_API_URL: api.url
}
});
// Link resources
api.link(db);
}
});
Lambda Functions
// packages/functions/src/users.ts
import { Resource } from 'sst';
import { db } from './db';
export async function list() {
const users = await db.select().from(usersTable);
return { statusCode: 200, body: JSON.stringify(users) };
}
export async function create(event) {
const body = JSON.parse(event.body);
const user = await db.insert(usersTable).values(body);
return { statusCode: 201, body: JSON.stringify(user) };
}
Live Lambda Dev (The Killer Feature)
npx sst dev
Edit your Lambda function → save → changes are live in <1 second. No redeploy. Set breakpoints in VS Code.
SST vs Serverless Framework vs CDK vs SAM
| Feature | SST | Serverless Framework | CDK | SAM |
|---|---|---|---|---|
| Language | TypeScript | YAML | TypeScript | YAML |
| Live dev | Yes (instant) | No | No | No |
| Console | Beautiful | Basic | None | None |
| Full-stack | Yes | API only | Yes | API only |
| Learning curve | Low | Low | High | Medium |
| Components | High-level | Plugins | L2 constructs | None |
The Verdict
SST makes AWS accessible to TypeScript developers. High-level components for common patterns, live Lambda development, and a beautiful console. If you're deploying to AWS, SST is the modern way.
Need help building production web scrapers or data pipelines? I build custom solutions. Reach out: spinov001@gmail.com
Check out my awesome-web-scraping collection — 400+ tools for extracting web data.
Top comments (0)