One marketplace, five roles — buyers, jewelers, lombards, handmade sellers and admins, each on a surface built for the way they actually work.






Buyer, jeweler, lombard, handmade seller, admin — each gets its own tailored surface, all sharing one design language.
Not just screens
I owned product design end-to-end — and a good deal beyond it. From the first flow to the last pixel, the small team around it, the brand, the conversations with the business, and the testing that proved it worked.
Two sides, two minds
The marketplace only works if both ends win. The whole design is anchored to these two people and what keeps them up at night.
Goals
- Find certified, authentic pieces
- Compare price & quality fairly
- Reserve before visiting a shop
Pains
- Fear of fakes & no certificate
- Opaque, “ask in DM” pricing
- Driving store to store
Wants
- Real photos & 360° views
- Transparent, final prices
- Card-installment options
Context
- Shops on mobile, evenings
- Buys for events & herself
- Trusts reviews & badges
Goals
- List stock online quickly
- Reach buyers beyond the street
- Handle buy-back & credit cleanly
Pains
- Paper ledgers & manual entry
- No single view of the till
- Slow to publish a new item
Wants
- One cash desk for everything
- Fast add-product flow
- Reports & control from the phone
Context
- Behind the counter all day
- Staff with mixed tech skill
- Cash, card & installments
A custom set of 30+ marks — started from Feather Icons, then reworked into a duotone, custom-weight family and animated into looping pictograms for empty states, onboarding and brand moments.
A public storefront built to hold 2,000+ ateliers — real images, certificates and live pricing, so browsing rare jewelry feels like a showroom, not a classifieds page.
Bundle rings, chains and stones into a set — with partial-set and discount pricing handled by page, not seller.






The buyer's path, end to end
Where the emotion dips is where the design earns its keep — every low point maps to a concrete design answer.
Sales, buy-back, credit and stock — one operational surface a jeweler runs the whole counter from.


Operational control
Tasks, photo-sessions and the production pipeline — scheduled and assignable from one board.
The app, mapped
Five roles branch from one core, each carrying the handful of screens that role lives in — all sitting on one shared design system.


Dashboards
Analytics shows where visitors come from, who they are, how deep they read and on which devices. The admin view puts users, active clients, revenue, subscriptions, ad campaigns and content reports on one screen.






A toolkit for every side
- Jeweler
- Lombard
- Buyer
- Content creator
- Manager
- …and more
Clients, stock, reports and buy-back, credit & photo-session requests — the jeweler's entire operation, mobile-first.






Color, type and components — built once, reused across web, tablet and the mobile apps so every role looks like the same product.
Palette
Typography
Didot sets the jewelry-grade headlines; Gilroy carries every interface label and table. Neither is a web font, so this specimen is set in the case page's own type.
Buttons
Inputs
Search by stone, carat…Metal · Gold 585Price, ₼Status badges
Four statuses — three ribbons and an empty one — are four modes of one variable collection on the shop card. How it got there from 32 variants →
Shops, lombards, buyers and handmade sellers share one row. In 2022 that cost 32 hand-drawn variants — 48 of their 72 ribbon layers always hidden, two copies shipped broken. Rebuilt twice since.
202232 variantsEvery type, status and size was drawn as a separate card.
202332 → 8 variantsThe promo badge became a switch on the instance, so status stopped multiplying the set.
20248 → 1 componentType, status and size became variable modes. One card covers every state.
202423 variables, 0 variantsCopy, colours, spacing and sizes live in variables and tokens, not in drawn copies.

- 322022
- 82023
- 12024
- 232024
❖Shop card
Component set
Properties
4 × 4 × 2. Every combination is its own card, drawn and kept in sync by hand.
❖Shop card
Component set · before variables
Properties
Status is now a switch
The ribbon is switched on the instance, so it no longer multiplies the set. Type and Size still do.
◆Commerce / Shop card
0 variants · 0 properties
Variable modes
Every variant became a mode picked on the instance. The same 32 states, none of them drawn.
◆Local variables
4 collections behind one card
Role 4 modes · 13
content/title“1001 gecə”show/statisticson · offshow/messengersoff · onStatus 4 modes · 3
badge/labelскидка 10% · …badge/backgroundSize 2 modes · 1
card/width1224 · 936Tokens 1 mode · 6
space/card-padding32size/image176color/textA fifth status is now one more mode with three values, not eight drawn cards. Role keeps the logic of the first version: a shop and a handmade seller trade on the platform, so their modes switch marketplace stats on; a lombard and a buyer are reached off it, so theirs turn the stats off and the messengers on. Size is only a width — the contact rail is auto-layout, so at 936 px it wraps onto a second line instead of truncating, and the height follows the content. The Buying card that drifted to 296 px on iPad now comes out at 288, like its siblings.
The business was already running: shops signed up, offices opened in shopping malls, staff hired and trained, content in production. The project stopped before the public launch, for reasons outside the product. The design was complete — 500+ screens across web, tablet and three native apps: five role surfaces, the seller back office, and one design system under all of it.






























