SERVERLESS / LEARNING
Cloud Study Tracker
A multi-user AWS study tracker with a public demonstration view and private study records protected by authentication and ownership checks.

The project
The Cloud Study Tracker records AWS services and cloud concepts as study topics. A public demonstration view makes the portfolio project usable without an account. Signed-in users can manage their own private study topics.
The app began as an AWS Builder Center weekend challenge and was later hardened to separate public reads from authenticated write operations.
Architecture
Browser → AWS Amplify → API Gateway → Lambda → DynamoDB
Amazon Cognito handles account creation, email verification, sign-in, password reset, and the OAuth authorization-code flow with PKCE. The browser calls API Gateway routes, Lambda handles the application operations, and DynamoDB stores topic records.
Public and private workflows
- Public demo: read seeded demonstration topics anonymously.
- My topics: sign in to view records associated with the account.
- Create and update: manage a topic’s status, notes, and visibility.
- Delete: remove a record only when the signed-in user owns it.
Authorization and ownership
API Gateway uses a JWT authorizer for private reads and mutation routes. Lambda reads the verified Cognito subject claim and uses it as the owner identifier. Update and delete operations check record ownership.
Public reads and authenticated operations use different routes. The public portfolio view does not grant anonymous access to private CRUD operations.
What this demonstrates
- Building a serverless frontend-to-database workflow.
- Integrating Cognito sign-in and token-based API authorization.
- Applying per-record ownership checks instead of trusting a browser-supplied user ID.
- Separating useful public demo content from private account data.