Expressive Samwise is a modern starter template that combines the power of AWS SAM (Serverless Application Model) with the simplicity and flexibility of Express.js.
While traditional Lambda functions can be fragmented and verbose, Express gives you a clean, centralized API layer — familiar to any Node.js developer. Meanwhile, SAM handles packaging, permissions, and integration with AWS services like API Gateway, letting you focus on building features instead of wiring infrastructure.
This template builds on the official SAM Express example but makes a few opinionated improvements: it updates dependencies, simplifies configuration, and removes infrastructure (like S3 buckets and roles) that should live in your own IaC environment.
It’s designed for teams who want to get started fast with a clean, production-ready foundation — without sacrificing control.
“I won’t leave you having to manage all those servers, Mr. Frodo.”
Returns a list of all users.
curl https://stx.gridstack.io/api/users -H 'accept: application/json'
Creates a new user.
curl https://stx.gridstack.io/api/users -X POST -d '{"name":"Sam"}' -H 'accept: application/json'
Returns a single user.
curl https://stx.gridstack.io/api/users/1 -H 'accept: application/json'
Updates an existing user.
curl https://stx.gridstack.io/api/users/1 -X PUT -d '{"name":"Samantha"}' -H 'accept: application/json'
Deletes an existing user.
curl https://stx.gridstack.io/api/users/1 -X DELETE -H 'accept: application/json'
Use this form to POST or PUT a user. Leave "user id" blank for POST, or fill it in for PUT.