Skip to content
Projects

Independent

WardrobeAI

An AI wardrobe and outfit planner for iOS, Android, and web, designed on AWS: photos become clean catalog images, and Claude on Bedrock ranks and explains outfits from clothes you own.

Role
Software Engineer
When
Sep 2026 – now
  • 3

    platforms from one Flutter app: iOS, Android, and web

  • 8

    steps from photo to approved garment

  • 6

    steps from request to outfit card

WardrobeAI architecture diagram. A Flutter app signs in with Amazon Cognito and calls a FastAPI service on ECS Fargate through CloudFront and AWS WAF. Phase 1 adds clothing through S3, SQS, an image worker, Claude vision, and Nova Canvas to an approval gate; phase 2 builds outfit cards from approved items stored in PostgreSQL with pgvector.
  1. Situation

    WardrobeAI is an AI wardrobe and outfit planner for iOS, Android, and web: you photograph each piece of clothing, it becomes a clean catalog image you approve, and outfits are built only from clothes you own.

  2. Task

    Design the architecture from the MVP onward. The MVP: one garment per photo, a clean catalog image, your approval, and then it appears on phone and web. Outfits come next.

  3. Action

    • Designed one Flutter app for iOS, Android, and web: guided camera upload that strips GPS data and resizes photos, screens to review and approve items, and an offline wardrobe cache.
    • Put a FastAPI service in Docker on ECS Fargate behind CloudFront and AWS WAF, with Amazon Cognito sign-in. The service verifies every JWT and item ownership.
    • Designed the add-clothing pipeline: the app uploads straight to private, encrypted S3, an SQS queue retries jobs into a dead-letter queue and skips repeat photos, and an image worker scales from zero with the queue.
    • Used Claude vision on Amazon Bedrock to classify each garment’s type, color, and photo style, and Amazon Nova Canvas to cut out flat-lay and hanger photos or reconstruct worn and folded ones. A quality check compares the result with the original and saves thumbnails and an embedding.
    • Added an approval gate: new items wait as drafts for the owner’s review, and only approved items reach outfits.
    • Designed outfit building: valid combinations of approved, available items, scored on color, formality, pattern, and the owner’s taste. Claude reranks the top 10 and explains them in JSON, then code checks that every item is owned, approved, available, and complete before returning outfit cards.
    • Kept items, tags, outfits, and feedback in RDS PostgreSQL with pgvector (1,024-dimension Nova embeddings), and garment originals, cutouts, and thumbnails in S3.
    • Planned security and operations: least-privilege IAM task roles, KMS-encrypted private S3 with signed URLs, Secrets Manager, CloudWatch and X-Ray, and AWS Budgets with per-user AI quotas. Deleting an account purges its S3 objects and database rows.
    • Planned delivery with Terraform, GitHub Actions, Amazon ECR, and rolling ECS deploys, with TestFlight and Google Play internal testing, and a Kubernetes milestone: kind locally, with KEDA scaling the worker on queue depth.
  4. Result

    • Architecture v2.0 is complete, from adding clothing through outfits, security, and release.
    • Uploads run in the background, so the app never waits on AI.
    • One rule holds the design together: AI ranks and explains outfits, and code decides what’s valid.

Stack

Flutter / FastAPI / Docker / Amazon ECS Fargate / Amazon Cognito / CloudFront / AWS WAF / Amazon S3 / Amazon SQS / Amazon Bedrock (Claude) / Amazon Nova Canvas / RDS PostgreSQL / pgvector / Terraform / GitHub Actions

Engineer resume