Case Study
Banan
Rebuilt a clothing brand as its own product: storefront, shop and admin
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).
The Brand
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.
The Challenge
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.
Storefront
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.





Shop & Checkout
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.



Research Built 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.


Admin
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.




Six Languages
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.


Engineering & Quality
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.
Business Model
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.
Reflection
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.
- 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.
- 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.
- 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.