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.
Log in or sign up for Devpost to join the conversation.