01
Challenge
Vinted is one of Europe’s largest pre-loved marketplaces, with 100M+ members across the continent. The main delivery challenge was to give users a fast, trustworthy journey across discovery, listing, checkout, and post-purchase states, while keeping List, Sell, and Browse consistent across the complete journey. We framed the engagement around the smallest production-worthy flow first, then expanded the scope without weakening the underlying component and data model.
02
How we built it
We began by mapping the user journey and the boundaries of the AI: what context it receives, what it may return, and where deterministic application logic must stay in control. We then built List, Sell, and Browse as small end-to-end slices, connecting the interface to the data and model layers early so the team could test real responses instead of static mock-ups. Streaming and real-time states were treated as first-class UI states, including loading, partial output, retries, and recovery. The main implementation used React Native, Expo SDK 54, Expo Router, and TypeScript, with typed contracts keeping the JavaScript stack consistent across the product.
03
Delivery
The delivered scope brought List, Sell, Browse, and Protect into one coherent cross-platform mobile release. Model output, product logic, and user feedback are separated clearly, which makes the AI easier to evaluate and evolve. For Vinted, the practical result is a product that communicates its value quickly while giving the team a maintainable base for continued delivery in commerce & marketplaces.