Inspiration
A clothing swap sounds simple until you try one: I want your cardigan, but you don’t want my shirt. Someone else wants my shirt, and you want their overshirt. Everyone could benefit, yet no direct swap works. That missing connection inspired FitCircle. We wanted to help people discover new possibilities in clothes that already exist, while addressing two questions that can stop an exchange: “Would I wear this?” and “Can everyone agree?”
What it does
FitCircle connects wardrobes through two- and three-person clothing exchanges. Participants join a shared event, list garments with measurements and condition photos, and save pieces they would like to receive. The matcher looks for exchange circles that satisfy those choices and any configured size, style and garment-measurement preferences. Using Perfect Corp’s YouCam AI Clothes Try-On V3 API, the AI Studio lets users request an appearance preview from a person photo and a garment photo, with explicit permission. Every proposed exchange includes meeting details. Participants approve independently, and changing a pending meeting arrangement clears previous approvals. Each person confirms receipt after inspecting their garment. The consumer value is concrete: a three-person circle can make an exchange possible when a direct swap cannot. Appearance previews and owner-supplied condition evidence help participants make more informed decisions.
How we built it
We built the interface with React and TypeScript on Next.js/Vinext, using Tailwind CSS and Framer Motion for responsive layouts and motion. The matching engine treats saved preferences as connections between wardrobes and searches for cycles of two or three participants. It excludes reserved pieces and applies configured size, style and chest-measurement constraints. Cloudflare Workers handles server requests, D1 stores event and preview records, and R2 stores garment photos. We use Drizzle ORM for database schema management and migrations. The YouCam integration runs server-side: it prepares uploads, submits generation tasks, checks their status and supports deletion requests. API credentials stay outside the client and repository. Hosted sign-in supplies identity, while the application checks event membership and ownership before allowing actions.
Challenges we ran into
The hardest challenge was keeping an exchange consistent as people changed their minds. A participant might remove a piece, update preferences or withdraw while others were reviewing the same proposal. We added version checks, approval invalidation and reservation rules to prevent conflicting agreements. AI generation introduced another challenge: an interrupted request does not always mean the provider rejected it. Automatically retrying could create duplicate tasks and charges. We preserve task identifiers and check existing requests instead of silently resubmitting. We also worked on session recovery around photo selection and made the product’s limits explicit: an appearance preview does not guarantee physical fit, and uploaded condition photos are not independent verification. Accomplishments that we're proud of
- Built a matcher that finds three-person exchanges where direct swaps fail.
- Connected matching, appearance previews and participant approvals in one experience.
- Added structured measurements, condition close-ups and individual receipt confirmation.
- Passed 16 automated domain tests, TypeScript checks and a production build.
- Verified listing uploads and preference persistence in the browser.
- Deployed the prototype with server-side credentials and documented setup instructions. Complete hosted three-account testing and real YouCam generation/deletion verification remain part of our final validation. What we learned Matching garments is only one part of making an exchange work. Participants also need clear information, consistent agreements and control over their decisions. We learned to distinguish a possible match, an approved exchange and a completed handover. Those are different outcomes and should never appear as the same success metric. We also learned that AI adds value when it answers a specific question. In FitCircle, its role is to help someone imagine a garment’s appearance while measurements and physical inspection support the final decision. #What's next for FitCircle Our next step is a small campus pilot to test whether participants complete exchanges and return for another one. We plan to measure completed handovers, time to agreement and repeat participation, then use that evidence to improve the experience. Future work includes stronger community verification, clearer measurement guidance and better handover coordination. After validating the local experience, we will explore regional sizing and additional languages. Our ambition is simple: help clothes find their next favourite person through a circle everyone chooses to join.
Built With
- cloudfare
- css
- framer
- hosting
- nextjs
- react
- sites
- tailwind
- typescript
- youcam
Log in or sign up for Devpost to join the conversation.