ReThread

Turn unwanted clothing into new possibilities, with practical upcycling guides, and evidence you can trust.

View our informational presentation here: https://canva.link/u5wa0um5ksm5lz8

Live Demo: https://shr3ya-sharma.github.io/rethread/#/ OR tinyurl.com/ReThreadApp GitHub Repository: https://github.com/Shr3ya-Sharma/rethread Built by: Shreya, Sara, Jayashree, Ria, and Kaitlyn

Inspiration

We wanted to bridge the gap between knowing textile waste is a problem and knowing what to do about the clothes already sitting in our closets.

Sustainability campaigns often encourage people to recycle or upcycle, but rarely explain what a specific garment can realistically become. Meanwhile, environmental statistics are frequently repeated without sufficient context about their sources, methodology, or limitations.

We built ReThread around two questions: What can my unwanted clothing actually become? And how can I understand the problem without being misled by the numbers?

Our goal is to make upcycling more practical while treating environmental research with the scrutiny it deserves. One transformed garment cannot solve a systemic problem, but it can be a meaningful place to start.

What It Does

ReThread combines an interactive environmental data story with an AI-assisted upcycling studio.

1. Explore the Problem

The editorial experience introduces clothing waste through sourced research, contextual explanations, and attributed testimony. Findings include information about their sources, scope, methodology, and limitations. Unverified claims are withheld rather than presented as facts.

Visitors can explore the story or skip directly to the studio.

2. Analyze Your Garment

Users upload a photograph of a short- or long-sleeved top. A Teachable Machine image classifier, designed to run in the browser using TensorFlow.js, suggests a garment category.

Because the model has only three classes and no dedicated "not a top" class, its predictions are not treated as definitive proof. Users must confirm their garment category, and uncertain predictions trigger clarification rather than automatic acceptance.

3. Find Feasible Upcycling Projects

Users enter garment measurements and optionally specify their skill level, available tools, time limit, and sewing preferences. They must explicitly request recommendations before any projects appear.

The recommendation engine evaluates garment dimensions, required materials, available tools, and user preferences before ranking suitable projects. If a project requires missing measurements or the garment is too small, ReThread requests additional information or explains why the project is unsuitable.

Each recommendation includes materials, tools, safety notes, and numbered construction instructions with common mistakes and completion checks. Progress is saved locally so users can return to their projects.

How We Built It

Architecture

ReThread is a static web application deployed through GitHub Pages. It uses JavaScript ES modules, HTML, and CSS, with no backend, database, or account system.

  • Hash-based routing supports navigation and page refreshes on a static host.
  • Browser-side processing keeps garment photographs on the user's device.
  • Local storage preserves project checklist progress.
  • Modular application logic separates garment eligibility, recommendation ranking, research data, and project guides.

AI-Powered Garment Recognition

We integrated a Teachable Machine image model exported as TensorFlow.js artifacts: model.json, metadata.json, and weights.bin.

The model uses a 224 × 224 input and has three output classes: T-Shirt, Full Sleeve Shirt, and Knitted Sweater. Class labels are read from the model metadata rather than hardcoded.

A dedicated eligibility function handles prediction confidence and uncertainty. The initial thresholds are 80% confidence and a 30-percentage-point margin between the top two predictions; these are configurable starting points, not experimentally validated accuracy thresholds.

Knitted sweaters are not automatically mapped to short- or long-sleeved categories. The model also cannot reliably reject arbitrary unsupported images without an appropriate "other" class, so user confirmation remains part of the workflow.

Feasibility-Based Recommendations

The internal catalog contains five projects: a tote bag, infinity scarf, two-panel beanie, cut-off tank top, and raw-edge crop top.

Before ranking projects, the engine applies eligibility rules for measurements, available tools, sewing preferences, time limits, and other constraints. Missing information is treated as "needs info," not as proof that a project is feasible.

Suitable projects are ranked using configurable weights:

  • Garment compatibility: 30%
  • Tool compatibility: 25%
  • Skill compatibility: 20%
  • Time: 15%
  • Additional cost: 10%

These scores provide a relative ranking, not a probability of success. Guides distinguish user measurements from suggested design dimensions so users do not mistake design choices for facts about their garments.

Research and Evidence

Every quantitative finding is stored with its value, unit, time period, geographic scope, denominator where applicable, source, publisher, methodology, limitations, verification status, and review date.

We checked original research and publisher materials wherever possible. Findings that could not be adequately verified were withheld or explicitly labelled as requiring secondary-source confirmation.

We also examined the limitations of an upcycling life-cycle study rather than generalizing its results to garments it did not study. This helped us avoid presenting research about other clothing products as direct proof of the environmental impact of upcycling T-shirts.

Challenges We Ran Into

  • The model cannot reliably identify unsupported objects. A classifier without an "other" class will still assign an image to one of its known categories. We designed the workflow around explicit confirmation and uncertainty handling rather than treating every prediction as correct.
  • Some model classes do not match our product scope. "Knitted Sweater" does not map cleanly to our supported categories, so we avoid automatically forcing it into a short- or long-sleeved classification.
  • Photographs cannot establish actual garment dimensions. Instead of guessing cutting measurements from an image, we request measurements and distinguish them from suggested design values.
  • Moving to static hosting required architectural changes. A server-dependent prototype could not run directly on GitHub Pages, so we adapted the application to use browser-side processing and static assets.
  • Source verification changed our claims. Some statistics could not be confirmed, and one environmental study covered different clothing products from those ReThread supports. We withheld unsupported claims rather than presenting them as established facts.
  • Testing uncovered implementation issues. We corrected a measurement-validation gap, fixed a project-name typo, improved incomplete guide instructions, and removed an unsourced environmental impact figure.
  • End-to-end model testing remains important. Automated checks can validate model artifacts and decision logic, but they cannot establish real-world classification accuracy. The model's performance must be measured against real photographs before accuracy claims can be made.

Accomplishments We're Proud Of

  • An empty-by-design studio: No project recommendations appear before garment analysis, eligibility checks, and an explicit user request.
  • Evidence with context: Research findings include provenance and limitations rather than relying on attention-grabbing statistics alone.
  • Privacy by design: Garment photographs are processed in the browser and are not uploaded by the application.
  • Practical construction guidance: Recommendations account for measurements, tools, and constraints instead of assuming every garment fits every project.
  • A static deployment architecture: The application is designed to run on GitHub Pages without a dedicated backend.
  • Automated testing: Thirteen Node.js tests cover model artifact consistency, classification decision logic, feasibility rules, guide completeness, and research-data requirements.

What We Learned

  • A high model confidence score does not guarantee a correct prediction, especially when the input falls outside the training classes.
  • Handling uncertainty and unsupported cases is just as important as producing a recommendation.
  • Verifying original sources can fundamentally change what a project can responsibly claim.
  • User-provided measurements are essential when construction depends on actual garment dimensions.
  • Separating factual measurements from design choices makes instructions more transparent.
  • Automated tests can catch content and product-design issues, not just programming errors.

What's Next?

Improve the Model

  • Evaluate classification performance on a representative set of real garment photographs.
  • Test unsupported objects and challenging lighting, backgrounds, and fabric types.
  • Expand the training data and consider adding a dedicated "other" class.
  • Validate confidence thresholds using measured results.

Strengthen the Evidence

  • Verify remaining research findings against original sources.
  • Incorporate additional attributed testimony with appropriate sourcing and permissions.
  • Add interactive visualizations that compare only compatible datasets.

Expand the Studio

  • Add more validated projects, such as pouches, cushion covers, and organizers.
  • Introduce clearly labelled construction diagrams.
  • Add metric and imperial measurement options.
  • Gather feedback from people with practical sewing and upcycling experience.

Improve Accessibility and Reliability

  • Self-host TensorFlow.js assets where appropriate.
  • Test across more devices, browsers, and screen sizes.
  • Conduct additional keyboard, screen-reader, and reduced-motion testing.

Built With

Share this project:

Updates

Submission history