Streamlining the seller upload experience to reduce drop-offs while maintaining database integrity.
Concept case study — not affiliated with Yaga. Based on observing the public listing flow and how I would approach a redesign.
In a secondhand marketplace, the listing form is the primary revenue touchpoint. Sellers who abandon mid-form mean lost inventory and lower GMV. Three friction points drove the most drop-offs.
Shoes selected — clothing sizes displayed
The key insight: the size picker isn't a generic field — it's a contextual field that only makes sense relative to the selected category. Conditional logic at the form layer eliminates invalid inputs before they ever reach the API.
Every branch mapped — including the image compression edge case — to create an error-proof, database-aware mobile experience.
The back-end constraint that makes conditional logic essential: size_id is a foreign key constrained by category_id. A shoe size value has no valid row in the clothing size table.
category_id constrains valid size_id values — and designed the UI to enforce that visually, before it's an API error.