Skip to content
← All projects

F.A.C.T

An augmented reality fabric try-on built with three others from UBC’s Aerial Robotics and Rocketry Club. We used a webcam and body tracking to let someone preview a pattern on themselves.

2025
PythonFlaskOpenCVMediaPipeSocketIO
Pink F.A.C.T landing page with Custom Design and Try On buttons
Pink F.A.C.T landing page with Custom Design and Try On buttons

01

Making a swatch behave like clothing

I built F.A.C.T with three other members of UBC’s Aerial Robotics and Rocketry Club. We wanted to preview fabric patterns on a person through a webcam. The challenge was mapping a flat pattern to the wearer as they moved, with controls for the pattern’s scale, tiling, and position.

02

Tracking and mapping

MediaPipe estimates body pose, then OpenCV uses that information to position the fabric overlay. Tracking supplies a reference for where the pattern belongs; the mapping step determines how much of the pattern appears and how it repeats across the garment area.

03

Keeping the preview interactive

Flask and SocketIO connect the video-processing pipeline to the interface. The wardrobe view exposes the pattern controls, so the user can adjust the appearance while looking at the preview rather than repeatedly generating separate images.

In pictures

Cartoon wardrobe screen with a dress form and pattern tiling sliders
Cartoon wardrobe screen with a dress form and pattern tiling sliders