Cruddur is a demo microblogging application. I rebuilt it on AWS so it can scale better and run more reliably.
I made the app API-driven with separate frontend and backend services. This improved scaling and maintenance. I used AWS services for auth, data storage, and media uploads.
What it is
Cruddur is a microblogging platform with user authentication, feeds, profiles, and direct messaging.
- Frontend: A React application that provides the user interface.
- Backend: A Flask API that handles business logic, running on AWS Fargate.
- Authentication: Amazon Cognito for secure user sign-up and sign-in.
- Databases:
- PostgreSQL (on Amazon RDS) for structured data like user profiles and posts.
- DynamoDB for real-time messaging, using Streams and Lambda to update message group orderings.
- Media: Amazon S3 for storing user-uploaded images and avatars, with Amazon CloudFront for fast delivery.
How It's Built
- Observability: The system is instrumented for monitoring and debugging with a combination of tools:
- AWS X-Ray: For tracing requests across services.
- CloudWatch Logs: For centralized logging.
- OpenTelemetry (Honeycomb): For distributed tracing and observability.
- Rollbar: For real-time error monitoring.
- CI/CD: A complete CI/CD pipeline using GitHub Actions automates testing, building, and deploying the frontend and backend services.
- Configuration: AWS Systems Manager (SSM) Parameter Store is used for managing secrets and configuration, ensuring that no sensitive data is hardcoded in the application.
- Networking: An Application Load Balancer (ALB) distributes traffic to the backend services, with health checks to ensure reliability.
Screenshots




