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