Case Study

Banan

Rebuilt a clothing brand as its own product: storefront, shop and admin

Year
2026
Role
Founder · Product & Design
Platform
Web, mobile web, admin
Status
Live
Website
bananclothing.com

Banan is my own brand of everyday basics. In two weeks I moved it from a customised Shopify theme to its own product: a storefront in six languages, a shop with online payment, customer accounts, built-in research and an admin panel for running the business.

Design, product and content by Leo Spektor; engineering AI-assisted (Claude Code).

Basics that stay the same

Banan started in Kyiv in 2009 as a small t-shirt brand. In 2026 it came back with a different idea: basics as a product system, not as fashion. Oversized tees, hoodies, sweatshirts, pants and tops with no logos and no seasons.

People buy basics again and again, but every season the fit, the fabric or the colour changes, and the piece they liked is gone. Banan keeps one stable core collection with the same fit and the same size system over time. Every piece is made to order, so nothing sits in a warehouse.

A shop theme was not enough for a launch

The brand ran on a heavily customised Shopify theme. It looked right, but the launch needed more than a theme: a waitlist before the shop opens, research with future customers, its own customer data in the EU, payment in the brand’s market and several languages from day one.

I decided to rebuild the brand as its own product and keep everything people liked about the old look: the dark stage, the photos, the quiet type. The goal was one system where the storefront, the shop, the research and the admin work from the same data.

Keep the look

Customers knew the dark, photo-first site. The rebuild had to feel the same, only faster and clearer.

Own the data

Subscribers, orders and research answers live in the brand’s own database in the EU, not in third-party tools.

Launch in steps

Waitlist first, then the shop. Switching between the two is one setting, not a redesign.

Run it alone

One person has to run the brand day to day, so the admin had to answer real questions fast.

Photos lead, the interface steps back

The storefront follows a written design system with seven rules: a black stage with white type, lines instead of fills, a light font weight, no radius and no shadows, and photos without text on top. The catalogue shows all 47 products on one page with filters for availability, price, colour and type.

On the product page a customer picks colour and size, sees stock per size and the made-to-order note before adding to the cart. On phones the home grid becomes a strip of photos inside each tile.

Home — photo grid
Banan home page photo grid
Product page — colour, size, stock
Banan product page
Home on a phone
Banan home on a phone
Product on a phone
Banan product page on a phone
Checkout on a phone
Banan checkout on a phone

A checkout that fits on one screen

I designed the cart and checkout as one short path. Checkout has three numbered parts: contact, delivery and payment. The fields are large and always visible, the pay button shows the amount, and on phones a sticky bar keeps the total and the pay button in reach.

Shipping is calculated by country and weight, promo codes and display currency are built in, and payment runs online. After the order, the customer gets an account by e-mail code, without a password, where they can follow the order and ask for a return.

Added to cart
Banan cart panel
Checkout — contact, delivery, payment
Banan checkout
Customer account — sign in by e-mail code
Banan customer account sign-in

Asking customers before the shop opens

Before the launch the product page offers “Join the list” instead of “Add to cart”. People leave an e-mail for a product, colour and size, so the brand knows what to make first.

A short survey asks what basics should be like: three minutes of questions for 50% off one item. In the admin I can compare the answers of people who finished the survey with those who dropped it, and see where people leave.

Analytics are the brand’s own: anonymous events without cookies, a consent banner for everything else, and Do Not Track respected.

Survey — the invitation
Banan customer survey
Survey results in the admin (demo data)
Banan admin survey results

One place to run the brand

The admin is the tool I use every day. Traffic, visitors, orders, the catalogue, people and visits, the survey, customer accounts, subscribers and messages each have their own page. Every number links to the list behind it.

The catalogue is edited in place: stock per size, colour groups, tags, photos and a history of every change. Access is closed twice: only the owner can sign in, and the server checks the sign-in token again on every request.

I run the admin in Russian, my working language; for these screenshots its labels are shown in English. They show demo data, not real customers.

Traffic
Banan admin traffic overview
Orders
Banan admin orders
Catalogue editing
Banan admin catalogue
People and visits — path to purchase
Banan admin analytics

One store, six languages

Every page exists in English, Ukrainian, German, French, Spanish and Russian, including the legal pages, e-mails and the account. Translations come from shared dictionaries and a glossary, so a product or a button has the same name everywhere.

Language and currency switch on a phone
Banan language and currency switch on a phone
Visitors by country and channel (demo data)
Banan admin visitors

Small stack, many checks

The site is static and fast, with server functions only where they are needed: forms, orders, payment and the account. It runs on Cloudflare with a database in the EU. 82 subscribers and customers moved over from the old tools without losses.

I designed the product and wrote the specs; the code was written with AI assistance (Claude Code) and checked by 179 automated tests in 43 test files: forms, checkout, payment states, translations, page widths from 360 to 1440 px. One script builds, checks and publishes, and stops at the first red result.

2 weeks From Shopify theme to own product
47 Products in one catalogue
6 Languages
179 Automated tests

Built for repeat purchases

Banan is planned as a direct-to-consumer brand: launch markets are the Netherlands, Germany, Sweden and Denmark. The numbers below are targets from the investor deck, not results yet.

€128 Target average order
€2,000 Target customer lifetime value
€20 Target cost per customer
€500k Pre-seed round planned

What I learned

Being designer and owner at once changes the questions. I stopped asking how a screen looks and started asking what decision it helps me make today.

  1. A launch is a sequence, not a date. Designing the waitlist, the survey and the shop as one system made each step a setting instead of a new project.
  2. Research is cheapest inside the product. A survey with a clear reward and an admin that compares finished and dropped answers told me more than any interview round.
  3. AI-assisted engineering moves fast only with clear specs and tests. The design system document and the test suite were what kept two weeks of fast work consistent.