Inspiration
About 1.3 billion people live with a significant disability (WHO). For many of them, getting dressed is the hardest part of the day: small buttons with arthritic hands, zips with one hand, lifting arms over the head, trousers that dig in when you sit all day, a carer dressing you every morning.
Adaptive clothing exists. IZ Adaptive, Silverts and BILLY Footwear make magnetic closures, open-back shirts, seated-cut trousers and zip-around shoes. But online shops still filter by size and colour, not by "can I actually put this on?". And virtual try-on assumes a standing model with two hands and two legs.
I wanted a shop that starts from the problem and shows the result on the shopper's own body, wheelchair and all.
What it does
AdClo is an adaptive clothing shop built around a fit profile: what makes dressing hard (sitting all day, limited grip, one-handed dressing, assisted dressing, sensory needs, a prosthetic or brace, medical access), who you shop for, your sizes and a photo of you.
- Ranked by how you dress. Every piece in every category is scored against your needs, with plain reasons ("Zip opens the whole shoe, so your foot slides in from above") and warnings.
- Try it on you. YouCam AI Clothes Virtual Try-On shows the garment on your own photo. Seated photos and mobility aids stay as they are.
- Full-outfit try-on. Try-ons are chained: bottoms, then top, jacket and shoes, each step using the previous result as the photo. Your own shoes are kept unless you try on new ones.
- AI stylist you can talk to. Type or say "my cousin's wedding is Saturday, I dress with one hand, nothing bright, about $200". AdClo shows what it understood, builds an outfit, explains each pick and answers out loud.
- Real products, one tap to buy. Every Buy button opens that exact product on the brand's own store.
How I built it
- Backend: Node.js + Express. It holds the API keys, proxies YouCam and Groq, and serves the catalog.
- YouCam API: upload the photo (
POST /s2s/v2.0/file, thenPUTto the signed URL), startcloth-v4withgarment_categoryset toupper_body,lower_body,outer,shoesorfull_body, then poll the task. Chained steps pass the previous result assrc_file_url, andchange_shoes: falsekeeps the person's own shoes. - Matching engine (
lib/match.js): maps each of the seven needs to garment features (magnetic closures, open back, seated cut, no back pockets, extra-wide opening, tagless) and scores every piece with reasons. - AI stylist (
lib/agent.js): Groqgpt-oss-120bin three steps.- Understand: the request becomes a structured plan, and unknown values are thrown away.
- Shortlist: AdClo's own rules keep only real catalog pieces that meet the needs, avoid the shopper's colours and fit the budget.
- Choose and explain: the AI picks from that shortlist. Any pick outside it or over budget is replaced by the rules-based choice, so the stylist cannot invent clothes.
- Voice: Groq
whisper-large-v3-turbofor speech input andcanopylabs/orpheus-v1-englishfor spoken replies, so people who find typing hard can shop by talking. - Frontend: plain HTML, CSS and JavaScript. Keyboard and screen-reader friendly, 48px touch targets, dark mode, reduced motion, and try-on progress announced through a live region.
- Tests: 44 passing tests for matching, outfit building, the stylist guardrails and the YouCam client.
Challenges
- The try-on invented a leg. Generative try-on draws trousers on two full legs, so on a photo of an amputee it adds a leg that isn't there. That is a real harm for exactly the people this app is for. For shoppers who tick the limb-difference need, AdClo now runs MediaPipe segmentation on their original photo (tiled for sharp edges around legs and feet). It keeps the new garment only inside their real outline and restores the original photo everywhere else. If that can't run, the piece is left off the try-on, with an explanation. The app never shows an invented limb.
- Chaining try-ons without drift. Each step feeds the last result back in, so order matters. Bottoms go first and shoes go first for limb-difference shoppers, while the photo still shows their own legs. This keeps the face, hands and wheelchair unchanged across the outfit.
- Keeping the AI honest. An LLM stylist will happily recommend clothes that don't exist. The shortlist-then-choose design, plus a fallback to the rules engine, fixed that.
- Language. The prompts require person-first language, and a filter replaces phrases like "wheelchair-bound" in anything the AI writes.
- Voice limits. Orpheus takes under 200 characters per request, so spoken replies are split into sentences and played back to back. The AI writes a short, casual spoken answer instead of reading the page out.
What I learned
Accessibility isn't a filter you add at the end. It changed the data model (needs to features), the AI design (it can't invent products), and even how the try-on is allowed to draw a body. I also learned how far a good try-on API stretches beyond its standing-model default when you test it on the people it usually ignores.
What's next
- More brands and categories, starting with Tommy Adaptive and Zappos Adaptive.
- A carer mode for shopping on behalf of someone else.
- Saved fit profiles across devices.
- Size advice tuned for seated measurements.
Built With
- css3
- express.js
- gpt-oss-120b
- groq
- html5
- javascript
- node.js
- orpheus-tts
- perfect-corp
- whisper
- youcam-api
Log in or sign up for Devpost to join the conversation.