Back to all work
Case study — № 04

CVIETA

Role

Design & Build

Type

Brand · Catalogue

Stack

Next.js · Payload · Vercel

Status

Live

Visit the live site

Problem

CVIETA is one person in Novi Sad sewing patchwork bags, wallets, and cases — every piece cut, stitched, and finished by hand, so no two are the same. All of it sold through Instagram. But a feed is not a catalogue: pieces scroll away, prices live in comment threads, and there is no link you can send someone who asks what else there is.

Constraints

One maker, no stock system, no fulfilment, no payment processing. Orders happen in DMs and that is genuinely the right channel for this business — a checkout would have added operational work to the exact person who has none to spare. The owner is not technical and had to be able to run it alone after launch. Serbian only, and the product photography is phone shots taken between orders, not a studio shoot.

What I chose · Outcome

I built a catalogue, not a storefront. The visual system is lifted from the craft itself: display type filled with stitch hatching, dashed cut-lines like a paper pattern, production notated in phases F—01 to F—04, and a toggle that switches the background pattern the way you would swap a fabric. Ordering stays where it already works — a single Instagram call to action, no cart anywhere on the site. Payload sits behind it so she adds pieces, sets prices, and marks things sold out without me.

  • No cart, no checkout, no payment integration — the entire funnel is one Instagram CTA, matching how the business actually runs
  • Eleven pieces catalogued with their own permanent URLs, so a customer asking "what else do you have" gets a link instead of a scroll
  • Owner-run through Payload: new pieces, prices, and sold-out flags without a developer
  • Design language derived from the product — stitch-hatched type, dashed cut-lines, F—01…F—04 phase notation, a swappable pattern
  • Written in Serbian for the customer rather than translated at them, with testimonials taken from real DMs
  • Next.js and Payload on Vercel, media on Vercel Blob — the same stack this portfolio runs on, so it is two production sites on it rather than one experiment
Next project — № 05
AGGREGAT