πŸ“’ Expense Book A serverless, full-stack expense tracker built entirely on AWS β€” no servers to ma...πŸ“’ Expense Book A serverless, full-stack expense tracker built entirely on AWS β€” no servers to ma...
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started
πŸ“’ Expense Book
A serverless, full-stack expense tracker built entirely on AWS β€” no servers to manage, no infrastructure to maintain. Add expenses, track spending by category, and view monthly reports, all backed by a pay-per-use backend.

πŸ’‘ Why I built this
I wanted to understand serverless architecture from the ground up β€” not just read about Lambda and API Gateway, but actually wire them together, break things, read the CloudWatch logs, and fix them. This project is the result: a working expense tracker where every part of the stack β€” database, backend, API layer, and frontend β€” was built and debugged by hand.
βš™οΈ Architecture
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” HTTPS β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” Invoke β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” Read/Write β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Frontend β”‚ ─────────────▢ β”‚ API Gateway β”‚ ─────────────▢ β”‚ Lambda β”‚ ─────────────────▢ β”‚ DynamoDB β”‚ β”‚ (HTML/CSS/JS)β”‚ β”‚ (REST API) β”‚ β”‚ (Python) β”‚ β”‚ (NoSQL) β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ◀───────────── β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ◀─────────────── β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ◀───────────────── β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ Netlify Roshni stage 4 functions, Partition key: userId IAM execution role Sort key: expenseId
Request flow:Β the browser calls a REST endpoint β†’ API Gateway (with Lambda proxy integration) forwards the raw event to the matching Lambda function β†’ the function reads/writes DynamoDB using an IAM role scoped for that access β†’ the response is serialized back through API Gateway to the browser, with CORS headers so the request isn't blocked cross-origin.
✨ Features
Add expenses with amount, category, description, and date
View all expenses in a clean, ledger-style list
Delete individual entries
Auto-generated monthly report with category-wise totals
Fully responsive UI, no frameworks β€” just HTML/CSS/JS talking directly to the API
Post image
Back to feed
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started