FitPrint

Inspiration

  • Seeing how much clothing waste ends up in landfills made us want a tool that surfaces the environmental impact of what we wear.
  • Fitness apps quantify health metrics, but very few tools quantify the “footprint” of clothes already in our closet or on our wish list.
  • We merged computer vision, sustainability data, and a friendly mobile/web interface so anyone can scan a garment and immediately understand its impact.

What It Does

  • Users sign in with Google, capture a photo of a garment, and FitPrint identifies the item, its brand, and core materials.
  • The backend enriches each capture with Gemini-powered sustainability summaries, stores data in DynamoDB, and renders wardrobe insights.
  • The app offers greener alternative suggestions, a personal footprint dashboard, and a history of past scans.

How We Built It

  • Frontend: Expo Router (React Native) with custom theming, camera capture workflow, typed routes, and secure token handling.
  • Auth: Expo Auth Session + Google OAuth; ID tokens are verified in FastAPI before DynamoDB upserts user records.
  • Backend: FastAPI on AWS App Runner, backed by DynamoDB, Gemini, Google Custom Search, and S3.
  • DevOps: Dockerized backend pushed to ECR with auto-deploy App Runner; Expo web export hosted via AWS Amplify; shared configuration through app.json extras and Amplify environment variables.

Challenges We Ran Into

  • Aligning Google OAuth across Expo web/native with backend verification took multiple redirect/audience iterations.
  • Amplify assumed a monorepo layout; configuring the correct app root and build spec for the fitprint directory was surprisingly tricky.
  • Evolving DynamoDB schemas mid-hack forced us to reconcile legacy clothing endpoints with the new user-centric models.
  • Managing secrets across local .env, App Runner, and Amplify required disciplined naming and environment separation.

Accomplishments That We’re Proud Of

  • Seamless cross-platform Google login paired with a polished capture experience.
  • AWS infrastructure that redeploys automatically on Docker pushes and Git commits.
  • Delivering actionable sustainability insights and curated alternative recommendations from a single photo.
  • Shipping a thoughtfully designed UI featuring parallax scroll, theme-aware components, and responsive layouts within the hackathon timeframe.

What We Learned

  • Expo Router plus App Runner works great once environment variables are unified across web and server.
  • Amplify’s monorepo tooling hinges on AMPLIFY_MONOREPO_APP_ROOT and the correct YAML structure.
  • Prompt tuning dramatically improves Gemini’s consistency for sustainability scoring.
  • Good secret hygiene (prefixed public Expo vars, private server keys) saves countless deployment headaches.

What’s Next for FitPrint

  • Expand the garment dataset with crowd-sourced metadata and barcode/receipt parsing for faster cataloging.
  • Add community features, sustainability goals, and achievement badges to keep users engaged.
  • Enhance the recommendation engine with price filters, availability checks, and partnerships with eco-friendly brands.
  • Harden production: migrate secrets into AWS Secrets Manager, add CloudWatch alerts, and fine-tune the camera pipeline for low-light scenarios.
Share this project:

Updates