Cruddur

Cruddur is a micro-messaging app where users share posts and photos that can expire.

Cruddur

What changed

  • Moved auth, data, media and delivery onto managed AWS services, improving reliability and scaling.

What I worked on

  • I led the architecture decisions and built across the backend, frontend and infrastructure.
  • I added monitoring, tracing, and the automated delivery pipeline.

Cruddur started as a demo microblogging app, with feeds, profiles and direct messages. I rebuilt it on AWS as an API-driven app so it could scale and be maintained more easily.

Architecture

A React frontend talks to a Flask API that runs on AWS Fargate behind an Application Load Balancer, which health-checks the backend. Amazon Cognito handles sign-up and sign-in. Posts and profiles live in PostgreSQL on RDS. Direct messages live in DynamoDB, where Streams and a Lambda keep each conversation's ordering up to date. Images and avatars go to S3 and are served through CloudFront.

Running it

GitHub Actions tests, builds and deploys both services. Secrets and config sit in SSM Parameter Store, not in the code. Requests are traced with AWS X-Ray and OpenTelemetry (Honeycomb), logs go to CloudWatch, and errors go to Rollbar.

Screenshots

Cruddur Screenshot 1
Cruddur Screenshot 2
Cruddur Screenshot 3
Cruddur Screenshot 4