
DrapeProof
Try the look. Keep what makes you, you.
DrapeProof is a preservation layer for generative fashion try-on. You choose what AI is allowed to change — and what should remain yours.
Launch DrapeProof → Explore the source →
The idea
Virtual try-on has become remarkably good at answering one question:
“What would I look like wearing this?”
But while building and testing generative try-on experiences, I became interested in a different question:
What happens when AI changes something the user never asked it to change?
A generated fashion preview may successfully replace a shirt or jacket while also altering another visual detail: an accessory, a tattoo, part of an assistive device, a control, an object beside the user, their posture, or even the geometry of the scene.
The clothing transformation may technically succeed.
The representation of the person may not.
That gap inspired DrapeProof.
Instead of treating virtual try-on as a simple:
PHOTO → GENERATION → RESULT
DrapeProof introduces an additional preservation layer:
PHOTO
↓
WHAT SHOULD AI CHANGE?
↓
WHAT SHOULD AI NOT CHANGE?
↓
YOUCAM GENERATION
↓
GLOBAL CONTINUITY CHECK
↓
PROTECTED REGION VERIFICATION
↓
PRESERVE WHEN DEFENSIBLE
↓
RE-VERIFY
↓
DRAPEPROOF PASSPORT
The core principle is simple:
AI should change what I asked it to change — and leave the rest of me alone.
What DrapeProof does
DrapeProof turns virtual try-on into a more inspectable, user-directed workflow.
1. Add your photo
The user begins with their own image.
No account is required for the current beta experience.
Images are handled through private storage and anonymous session ownership.
2. Choose the look
The user adds the fashion item they want to try.
DrapeProof integrates Perfect Corp's YouCam API for the actual fashion transformation.
The current product supports:
- YouCam Clothes Virtual Try-On V4
- YouCam Bag Virtual Try-On V2
- YouCam Skin Analysis V2.1 as an optional visual appearance signal
YouCam performs the generative fashion transformation.
DrapeProof handles what happens around and after that generation.
3. Protect what matters
Before generation, DrapeProof asks one of the most important questions in the product:
What should AI never change?
The user can mark areas they want DrapeProof to inspect after generation.
Those regions could represent things such as:
- an assistive-device control
- part of a wheelchair
- jewelry
- a tattoo
- an accessory
- a scar
- a watch
- a personal object
- any other user-selected visual detail
DrapeProof does not assume what matters to the user.
The user defines it.

Generation is only the beginning
Once YouCam produces the new look, DrapeProof does not immediately declare the result trustworthy.
It first asks:
Is this still visually comparable to the original scene?
That is the job of the Global Continuity Gate.
Global Continuity Gate
Before inspecting small protected regions, DrapeProof checks whether the generated result and the original image remain sufficiently comparable.
The gate evaluates several independent signals:
- frame geometry
- body-pose geometry
- classical visual-feature correspondence
- protected-region mappability
This distinction became one of the most important architectural decisions in the project.
A provider can return:
SUCCESS
while DrapeProof can still conclude:
THIS PREVIEW CHANGED TOO MUCH
Those statements are not contradictory.
One means the generation request completed.
The other means DrapeProof does not believe a local preservation comparison is defensible.
When continuity fails, DrapeProof stops instead of pretending it can verify individual regions.
Knowing when not to make a claim became as important as making one.

Protected Region Verification
When global continuity passes, DrapeProof evaluates the regions the user selected.
The verifier uses deterministic image measurements including:
- Mean Absolute Difference
- Changed Pixel Ratio
- Structural Similarity
- Edge Difference
There is deliberately no mysterious combined “AI trust score.”
Instead, DrapeProof keeps the individual measurements inspectable and maps them into clear product states such as:
PRESERVED
NEEDS REVIEW
CHANGED
This allows the consumer experience to remain simple while technical evidence stays available separately.

Preserve Mode
Verification alone was not enough.
The next question became:
If DrapeProof detects a changed protected region, can it help preserve it?
That led to Preserve Mode.
If a region needs attention and restoration is eligible, the user can explicitly choose:
Restore from original
DrapeProof then creates a separate preserved derivative.
The original AI-generated result remains immutable.
The preservation pipeline is:
PROTECTED REGION
↓
REPAIR ELIGIBILITY
↓
SOURCE → RESULT MAPPING
↓
SOURCE-DERIVED RESTORATION
↓
BOUNDED BLENDING
↓
NON-DEGRADATION CHECK
↓
RE-VERIFICATION
Preserve Mode does not ask another generative model to invent the missing object.
It restores protected content from the user's original image using deterministic processing.
Then DrapeProof runs its verification layer again.

Just as important: Preserve Mode can refuse
One of the hardest lessons in building DrapeProof was that restoration should not always be attempted.
For example, copying pixels from the original image could accidentally overwrite the new garment the user explicitly asked AI to generate.
So DrapeProof includes a conservative Repair Eligibility Gate.
Restoration can be blocked when:
- global continuity failed
- source/result mapping is unreliable
- the protected area overlaps the intended fashion transformation
- the restoration footprint is too close to that transformation
- there is insufficient surrounding context for a defensible repair
In other words:
“Can restore” is a different question from “should restore.”
That distinction became one of DrapeProof's strongest product principles.
The DrapeProof Passport
At the end of the workflow, DrapeProof can generate a DrapeProof Passport.
The Passport separates three different layers of provenance:
AI Generation
What YouCam generated.
DrapeProof Verification
What DrapeProof inspected.
DrapeProof Preservation
What DrapeProof restored from the original, if anything.
The Passport does not claim certification, physical safety, identity verification, or fit accuracy.
Its purpose is simpler:
make the transformation history understandable.

Built with YouCam API
YouCam is not a decorative integration in DrapeProof.
It is the generative fashion engine around which the preservation workflow is built.
Clothes Virtual Try-On V4
This is the primary clothing-generation capability.
It enables DrapeProof to create the requested fashion transformation and then evaluate what changed around that transformation.
Bag Virtual Try-On V2
Bag VTO became particularly valuable during development because it demonstrated an important product insight:
Provider success does not automatically mean continuity success.
A fashion transformation can complete successfully while introducing scene changes that make local preservation verification unreliable.
That behavior helped shape the Global Continuity Gate.
Skin Analysis V2.1
DrapeProof also integrates Skin Analysis as an optional secondary visual signal for inspecting face-appearance consistency across a transformation.
It is not used for:
- medical diagnosis
- biometric identity verification
- health assessment
It remains an auxiliary visual-analysis signal.
Architecture

DrapeProof is deployed as a production web application rather than a local-only prototype.
┌──────────────────────┐
│ USER │
└──────────┬───────────┘
│
▼
┌──────────────────────┐
│ DRAPEPROOF WEB │
│ Next.js + React │
└──────────┬───────────┘
│
▼
┌─────────────────────────────┐
│ YOUCAM API │
│ │
│ Clothes V4 · Bag V2 │
│ Skin Analysis V2.1 │
└──────────────┬──────────────┘
│
▼
┌─────────────────────────────┐
│ GLOBAL CONTINUITY GATE │
│ │
│ Frame · Pose · Features │
│ Region Mappability │
└───────────┬─────────────────┘
│
┌────────┴────────┐
│ │
FAIL PASS
│ │
▼ ▼
Stop local Protected Region
verification Verification
│
┌──────────┴──────────┐
│ │
PRESERVED REVIEW / CHANGED
│
▼
Repair Eligibility
│
if eligible
▼
Preserve Mode
│
▼
Re-verify
│
▼
DrapeProof Passport
Application stack
Frontend
- Next.js
- React
- TypeScript
Backend
- Next.js Route Handlers
- Vercel Functions
Database
- Neon Postgres
Private media
- Vercel Blob
Computer vision
- Secured Python CV worker
- MediaPipe
- OpenCV
- classical feature matching
- deterministic image measurements
Fashion AI
- Perfect Corp. YouCam APIs
Production architecture
One engineering challenge was making the computer-vision pipeline work reliably in a serverless environment.
During production validation, the original Node.js function attempted to invoke a local Python executable.
That worked in development.
It failed in Vercel.
The solution was not to hide the failure or disable verification.
Instead, I separated the CV execution into a secured Python worker compatible with the production environment.
The final architecture became:
Browser
│
▼
Next.js / Vercel
│
├──────────────► Neon Postgres
│
├──────────────► Private Vercel Blob
│
├──────────────► YouCam API
│
└──────────────► Secured Python CV Worker
│
▼
Continuity + Verification
│
▼
Preserve Mode
│
▼
Passport
The same real provider result was then replayed through the production verification pipeline without creating another YouCam generation, proving that the verification architecture could run in the deployed environment.
Privacy and security
Fashion AI handles deeply personal visual data, so DrapeProof was designed around a privacy-conscious anonymous workflow.
The current product includes:
- anonymous-first sessions
- private media storage
- ownership-authorized asset delivery
- server-only provider credentials
- short-lived product sessions
- deletion support
- protected result access
- rate limiting
- provider idempotency
- generation budget controls
- production kill switch
- privacy-minimized product analytics
A user does not need to create an account just to test a look.
The application also avoids exposing private Blob URLs or provider credentials to the browser.
One failure that changed the product
One of the most valuable moments during development was a result that technically failed one of my own experiments.
The first Preserve Engine successfully restored a controlled changed region.
But a transformation-overlap test exposed a flaw:
the original overlap threshold could still allow restoration too close to the part of the image that AI was intentionally changing.
Instead of lowering a threshold until the test passed, I kept the failure.
Then I redesigned the eligibility system.
The new policy introduced an intent-aware transformation exclusion zone based on upper-body pose geometry and a conservative uncertainty margin.
That changed the architecture from:
“How much does this region overlap?”
to:
“Could restoring this region interfere with
the transformation the user explicitly requested?”
That was an important lesson:
A preservation system should not only know how to repair. It must know when not to repair.
Challenges
1. Generative outputs are not geometrically stable
A VTO result can change framing, scale, posture, or scene structure.
Local pixel comparison is meaningless if those global relationships no longer hold.
That challenge produced the Global Continuity Gate.
2. Preservation can conflict with transformation
Restoring original pixels inside the garment region could simply undo the virtual try-on.
That required a separate Repair Eligibility Gate instead of blindly restoring every changed protected region.
3. Computer vision behaved differently in production
Local Python execution was not available inside the deployed Node runtime.
The CV architecture had to be redesigned for production instead of relying on local-machine assumptions.
4. “Provider success” and “representation preserved” are different
This became perhaps the most important conceptual insight in the project.
A provider can successfully fulfill a generation request while the surrounding representation changes significantly.
DrapeProof treats generation success and preservation verification as two independent questions.
5. Avoiding overclaiming
DrapeProof deals with visual preservation.
It does not establish:
- physical fit
- clothing sizing
- device functionality
- medical conditions
- accessibility compatibility
- biometric identity
- physical safety
Building the product meant being very deliberate about the boundary between what the evidence shows and what it does not.
What I learned
Building DrapeProof changed how I think about generative interfaces.
Today, most AI products focus on the instruction:
“What should the model create?”
DrapeProof adds another dimension:
“What must the model try not to change?”
That sounds like a small interaction change.
It is actually a different product primitive.
Generation describes the desired transformation.
Protection describes the user's visual constants.
And once those constants exist, an AI system can potentially become more accountable about what changed outside the requested transformation.
What makes DrapeProof different
DrapeProof is not another virtual try-on model.
YouCam already provides the generative capability.
DrapeProof focuses on the layer surrounding that capability:
1. User-defined preservation
The user decides what deserves protection.
2. Global verification before local claims
DrapeProof refuses local comparison when the overall scene is no longer sufficiently comparable.
3. Transparent region verification
Independent measurements remain inspectable rather than becoming one opaque trust score.
4. Source-derived preservation
Eligible repairs come from the original image rather than another generative reconstruction.
5. Conservative refusal
If restoration risks interfering with the intended fashion transformation, DrapeProof leaves the image untouched.
6. Transformation provenance
The Passport distinguishes the provider's generation from DrapeProof's own verification and preservation.
Where this could go
DrapeProof is currently a production-deployed public beta.
The next stage is not simply adding more features.
It is learning how people use visual protection in real-world try-on experiences.
One future direction I find particularly interesting is the concept of persistent Protection Profiles:
Teach AI once what should stay yours.
A user could potentially define recurring visual constants — an accessory, assistive device, tattoo, watch, or another personal element — and review those protections across future fashion transformations.
Another direction is integrating DrapeProof as a preservation layer directly into retailer and fashion-platform workflows.
Instead of every generative application reinventing this logic, preservation could become infrastructure.
Live product
Try DrapeProof
drapeproof-access.vercel.app →
No account required.
Source
github.com/jpablortiz96/drapeproof-access →
Open-source release under Apache License 2.0.
Final thought
Generative AI is getting better at changing images.
The next challenge is making it better at understanding what should remain unchanged.
DrapeProof explores that missing layer.
Change the look. Preserve the person.
DrapeProof
Try the look. Keep what makes you, you.
Built With
- mediapipe
- next.js
- opencv
- privacy
- python
- react
- typescript
- vercel
- youcam
Log in or sign up for Devpost to join the conversation.