A real estate listing platform with geospatial search, automated image processing, and serverless infrastructure that scales to zero.
DjangoPostgreSQLPostGISReactTypeScriptAWS CDKECS FargateAurora ServerlessLambdaCloudFrontS3Claude



A real estate platform where I built the backend API, admin dashboard (built entirely with Claude), media processing pipeline, and cloud infrastructure.
What it does
Property listing and discovery platform with geospatial search powered by PostGIS. Buyers can browse properties on an interactive map, filter by location scores (walkability, commute times), and view listings with auto-processed imagery.
Architecture
- API: Django REST Framework with JWT auth, serving both a public browsing API and a protected admin API with Swagger documentation
- Admin: React 19 + TypeScript dashboard with Material UI, Zustand, and TanStack Query — built entirely using Claude
- Media pipeline: S3 uploads trigger an SQS queue that feeds a Lambda function — it generates thumbnails at multiple sizes and applies watermarks automatically
- Infrastructure: Fully defined in AWS CDK — ECS Fargate for the API, Aurora Serverless v2 (scales to 0 ACU for cost savings), CloudFront CDN, CodePipeline with self-mutating deploys
- Database: PostgreSQL with PostGIS extension for spatial queries, running on Aurora Serverless
Interesting decisions
- Aurora scales to zero to keep costs near-zero during low traffic. The tradeoff is cold start latency — planning to pre-render property pages and serve them from the CDN to avoid hitting a sleeping database.
- Multi-container ECS task: database migrations and static file collection run as init containers before the Django app starts, so deployments are atomic.
- Self-mutating pipeline: the CDK pipeline updates itself before deploying application changes, so infrastructure and app code ship together.