← Back
Birsan IMS

Birsan — Web Dashboard

A web-based inventory management interface for warehouse managers — stock control, supplier tracking, and analytics in one system.

🖥️
Case study in progress

The web case study covers the manager dashboard — inventory control, stock movements, supplier management, and reporting for desktop.

Coming soon · 2026

Birsan — Веб-дашборд

Веб-интерфейс управления складом для менеджеров — контроль остатков, работа с поставщиками и аналитика в одной системе.

🖥️
Кейс в процессе

Веб-кейс охватывает дашборд менеджера — управление остатками, движение товаров, работу с поставщиками и отчётность для десктопа.

Скоро · 2026

Birsan Mobile — Cart Redesign

Redesigning the sales cart for retail cashiers — replacing a flat text list with a visual, error-resistant interface that made high-volume checkout faster and more accurate.

Role
Product Designer
Platform
Android & iOS
Year
2025 — Present
↓22%
Reduction in cart correction errors
Faster item editing flow
8
Critical UX problems found in discovery
3 mo
Design and development cycle
Context

Birsan is a retail B2B platform used by cashiers and inventory managers across multiple retail locations. The mobile app is the primary tool for cashiers processing sales on the floor — scanning items, building a cart, and completing payment transactions under constant time pressure.

Discovery

Through field observation sessions at 3 retail locations and interviews with 8 cashiers, I mapped the core frictions in the sales cart flow. The original interface was a numbered text list with no visual product identification — fast to build, but unreliable under pressure.

Pain point 1 — Visual ambiguity
Cashiers had to read item names carefully to distinguish similar products (e.g. "Ручка синяя" vs "Ручка чёрная"), increasing error rate during busy hours.
Pain point 2 — No inline quantity editing
Changing an item's quantity required going back to the catalog, finding the product, and re-adding it. There was no in-cart control.
Pain point 3 — Visual noise
Orange-highlighted rows for in-cart items created cognitive overload — cashiers struggled to quickly review the total and spot errors before checkout.
Pain point 4 — Edit flow confusion
Tapping a cart item to edit it opened the same "Add item" modal used for adding new products. Cashiers frequently hit "Add" instead of saving changes — creating duplicate entries and requiring manual correction.
Pain point 5 — Payment screen fragmentation
The cash payment screen was split across two separate screens — amount entry and confirmation — with no visual connection between them. Cashiers lost context mid-flow and had to mentally reconcile two different totals shown on separate screens.
User Flow — Sale Transaction

Mapping the end-to-end flow revealed that critical problems clustered across three steps: Cart Review, Edit Item, and Payment. All three were redesigned over a 3-month cycle alongside active development.

01
Open Sale
02
Search / Scan
03
Cart Review
⚠ 3 issues
04
Edit Item
⚠ 1 issue
05
Payment
⚠ 1 issue
06
Receipt
Cart Redesign — Before & After

Drag the handle to compare the original cart and the redesigned version side by side.

New cart Old cart
Before
After
Edit Item — Before & After

The old edit flow reused the "Add item" modal — same UI, different intent. The new design is a dedicated full-screen editor with clear sections, visible price breakdown, and a single save action.

New edit screen Old edit modal
Before
After
Payment — Before & After

The original payment flow split amount entry and confirmation across two screens, creating context switching under pressure. The redesign merges both into a single unified screen — payment method, amount, quick-entry banknote buttons, and the total are all visible at once.

New payment screen Old payment screen
Before
After
Key Design Decisions
01
Product thumbnails as primary identifier
Added product images to each cart row so cashiers can confirm items at a glance — reducing reliance on reading product names under time pressure. Images load from the existing product catalog API.
02
Inline quantity controls
Replaced the back-and-re-add flow with a −/+ stepper directly in the cart row. Editing quantity now takes one tap instead of 4+ steps, and the updated total is reflected immediately.
03
Stock badges for low inventory awareness
Each item now shows a stock badge (units available). When stock is negative, the badge turns red — giving cashiers immediate feedback before a sale is confirmed rather than discovering discrepancies after.
04
Dedicated Edit Item screen
Replaced the ambiguous "Add" modal with a purpose-built edit screen. Clear visual hierarchy separates product info, quantity, and discount into distinct cards. A single "Save" CTA eliminates the risk of accidentally adding a duplicate entry.
05
Unified single-screen payment
Merged the fragmented two-screen cash flow into one. Payment method, entered amount, quick-select banknote buttons, change calculation, and the confirm CTA are all visible without scrolling — eliminating the mental load of switching between screens mid-transaction.
The Outcome

The redesigned cart shipped after a 3-month design and development cycle. Usage data from retail locations showed a measurable drop in cart correction events and an overall improvement in cashier confidence during checkout.

↓22%
Cart correction events per shift
↑14%
Checkout speed — avg. items per minute
8/10
Cashier satisfaction score after rollout
3
Minor post-launch issues resolved in 30 days
Design System Foundations

Birsan runs across three platforms — Mobile, Web, and POS — each with its own dedicated Figma library. All three share a common token layer built as Figma Variables, ensuring visual consistency without coupling platform-specific components.

610 Colour variables
72 Spacing tokens
10 Corner radii
200 Global tokens
Token architecture — Atomic Design
⚛ Atoms
Raw values
Grey/2, Grey/50, Blue/150, Orange/200… The smallest indivisible units — raw colour, size, and scale values with no semantic meaning. Never used in components directly.
🧬 Molecules
Semantic tokens
Text/Primary, BG/Card, Stroke/Rest, Status/Error… Atoms combined into meaningful roles. Light and Dark mode collections switch automatically via Figma Variables.
🧱 Organisms
Component tokens
Button/BG, Header/Stroke, Form/Color… Molecules scoped to specific components. Developers consume these 1:1 in code — no manual translation needed.
Tokens — Typography · Colours · Spacing · Radii
Birsan design system tokens

The component library covers the full UI surface — buttons with semantic variants (Primary, Secondary, Danger, Warning, Info), data tables with pagination, tooltips, context menus, toggles, alerts, and modals. Every component is built with Auto Layout and exposes properties for state and variant switching.

Birsan design system components
Platform-specific libraries
📱
Mobile library
Touch-optimised components — bottom sheets, tab bars, swipe gestures, large tap targets for cashier use under pressure.
Android · iOS
🖥️
Web library
Dense data tables, sidebar navigation, multi-column layouts — optimised for managers on desktop with keyboard-first interactions.
Desktop · Web
💳
POS library
Full-screen touch interface for stationary terminals — oversized hit zones, minimal chrome, high-contrast for bright retail environments.
Touch · Kiosk
🔗
Dev handoff via Figma Dev Mode
Components were handed off through Figma Dev Mode after a structured design review — specs, spacing, and variable bindings visible directly in the file. Token names map 1:1 to the codebase, reducing translation errors between design and implementation.
Figma plugin — DS Audit

To enforce consistency at scale, I built a custom Figma plugin that automates the design review process — catching violations before handoff rather than after.

Birsan
DS Audit — Samgau
Design system compliance checker for Birsan
Built in-house
DS Audit — audit tab DS Audit — checklist tab DS Audit — DS tab
🎨
Colour token audit
Scans every fill and stroke in the selected frame — flags any colour not bound to a DS token, showing the raw hex and the layer path.
📏
Spacing audit
Checks all padding and gap values against the spacing scale — highlights anything that falls outside the defined grid (0, 2, 4, 6, 8…).
Aa
Typography audit
Detects text layers using detached styles or raw font values instead of the DS text token library — ensures typographic consistency.
🏷
Layer naming
Finds default layer names (Group 123, Rectangle 45) and lets you rename them inline — keeping files clean for dev handoff.
🔄
Switchable DS profiles
Load any Figma file as the reference DS — audits work across multiple brand libraries, useful for multi-product teams.
Handoff checklist
Pre-review checklist covering adaptations (Mobile / Desktop / POS), light and dark themes, and auto-layout readiness — tracks completion before each design review.

Birsan Mobile — Редизайн корзины

Редизайн корзины продаж для кассиров ритейла — замена текстового списка на визуальный, устойчивый к ошибкам интерфейс, который ускорил оформление и снизил количество ошибок.

Роль
Продуктовый дизайнер
Платформа
Android и iOS
Год
2025 — н.в.
↓22%
Снижение ошибок при выборе товара
Быстрее редактирование количества
8
Критичных UX-проблем выявлено в discovery
3 мес
Цикл дизайна и разработки
Контекст

Birsan — B2B-платформа для ритейла, которой пользуются кассиры и менеджеры склада в нескольких торговых точках. Мобильное приложение — основной инструмент кассира в зале: сканирование товаров, формирование корзины и проведение оплаты под постоянным временным давлением.

Дискавери

В ходе наблюдений на 3 торговых точках и интервью с 8 кассирами я зафиксировал ключевые точки трения в флоу продажи. Исходный интерфейс — пронумерованный текстовый список без визуальной идентификации товаров: быстрый в разработке, но ненадёжный под нагрузкой.

Проблема 1 — Визуальная неоднозначность
Кассирам приходилось внимательно читать названия похожих товаров (например, «Ручка синяя» и «Ручка чёрная»), что увеличивало число ошибок в часы пик.
Проблема 2 — Нет редактирования количества
Чтобы изменить количество товара, нужно было возвращаться в каталог, находить товар и добавлять заново — никакого управления внутри корзины.
Проблема 3 — Визуальный шум
Оранжевая подсветка строк создавала когнитивную перегрузку — кассирам было сложно быстро проверить итоговый список и заметить ошибку до оформления.
Проблема 4 — Путаница в редактировании
Нажатие на товар в корзине открывало то же модальное окно «Добавить товар», что и при добавлении нового. Кассиры часто нажимали «Добавить» вместо сохранения изменений — создавая дублирующую позицию, которую затем приходилось удалять вручную.
Проблема 5 — Фрагментированный экран оплаты
Оплата наличными была разбита на два отдельных экрана — ввод суммы и подтверждение. Кассиры теряли контекст в середине флоу и вынуждены были сопоставлять две разные суммы на двух разных экранах под давлением очереди.
User Flow — транзакция продажи

Картирование флоу показало: критичные проблемы сосредоточены на трёх шагах — корзина, редактирование позиции и оплата. Все три были переработаны в рамках 3-месячного цикла параллельно с активной разработкой.

01
Открыть продажу
02
Поиск / Сканирование
03
Корзина
⚠ 3 проблемы
04
Редактирование позиции
⚠ 1 проблема
05
Оплата
⚠ 1 проблема
06
Чек
Редизайн корзины — До и после

Перетащите ползунок чтобы сравнить оригинальную корзину с редизайном.

Новая корзина Старая корзина
До
После
Редактирование позиции — До и после

Старый флоу редактирования переиспользовал модальное окно «Добавить товар» — одинаковый UI, разные намерения. Новый дизайн — выделенный полноэкранный редактор с чёткими секциями, разбивкой цены и единственной кнопкой сохранения.

Новый экран редактирования Старое модальное окно
До
После
Оплата — До и после

Исходный флоу оплаты наличными был разбит на два экрана — ввод суммы и подтверждение — без визуальной связи между ними. Редизайн объединяет всё в один экран: способ оплаты, поле суммы, кнопки быстрого выбора купюр, сдача и кнопка подтверждения — всё доступно без переключения.

Новый экран оплаты Старый экран оплаты
До
После
Ключевые дизайн-решения
01
Превью товара как основной идентификатор
Добавил изображения товаров в каждую строку корзины — кассир видит товар с первого взгляда, без необходимости читать название. Изображения подтягиваются из существующего API каталога.
02
Редактирование количества прямо в корзине
Заменил сценарий «вернись и добавь заново» на степпер −/+ внутри строки. Изменение количества — один тап вместо 4+ шагов, итог обновляется мгновенно.
03
Бейдж остатков для контроля наличия
Каждый товар теперь показывает количество в наличии. При отрицательном остатке бейдж краснеет — кассир видит проблему до подтверждения продажи, а не после.
04
Выделенный экран редактирования позиции
Заменил неоднозначное модальное окно «Добавить» на специальный экран редактирования. Чёткая визуальная иерархия разделяет информацию о товаре, количество и скидку на отдельные карточки. Единственная кнопка «Сохранить» исключает риск случайного создания дубликата.
05
Единый экран оплаты
Объединил фрагментированный двухэкранный флоу наличной оплаты в один. Способ оплаты, введённая сумма, кнопки быстрого выбора купюр, расчёт сдачи и кнопка подтверждения — всё видно без прокрутки и переключения между экранами.
Результат

Редизайн был выпущен после 3-месячного цикла дизайна и разработки. Данные из торговых точек зафиксировали снижение количества исправлений в корзине и общий рост уверенности кассиров при оформлении.

↓22%
Исправлений корзины за смену
↑14%
Скорость оформления — товаров в минуту
8/10
Оценка кассиров после запуска
3
Минорных проблемы закрыто в первые 30 дней
Основы дизайн-системы

Birsan работает на трёх платформах — Mobile, Web и POS — каждая с отдельной Figma-библиотекой. Все три разделяют единый слой токенов на базе Figma Variables, обеспечивая визуальную консистентность без привязки платформенных компонентов друг к другу.

610Цветовых переменных
72Токенов отступов
10Радиусов скругления
200Глобальных токенов
Архитектура токенов — Atomic Design
⚛ Атомы
Сырые значения
Grey/2, Grey/50, Blue/150, Orange/200… Наименьшие неделимые единицы — чистые значения цвета, размера и шкал без смысла. Напрямую в компонентах не используются.
🧬 Молекулы
Семантические токены
Text/Primary, BG/Card, Stroke/Rest, Status/Error… Атомы, объединённые в осмысленные роли. Коллекции Light и Dark переключаются автоматически через Figma Variables.
🧱 Организмы
Токены компонентов
Button/BG, Header/Stroke, Form/Color… Молекулы, привязанные к конкретным компонентам. Разработчики используют 1:1 в коде — никакого ручного перевода.
Токены — Типографика · Цвета · Отступы · Радиусы
Токены дизайн-системы Birsan

Библиотека компонентов покрывает весь UI — кнопки с семантическими вариантами (Primary, Secondary, Danger, Warning, Info), таблицы с пагинацией, тултипы, контекстные меню, тогглы, алерты и модальные окна. Каждый компонент построен на Auto Layout с properties для управления состоянием и вариантом.

Компоненты дизайн-системы Birsan
Платформенные библиотеки
📱
Mobile-библиотека
Touch-оптимизированные компоненты — боттом-шиты, таб-бары, свайп-жесты, крупные зоны касания для кассиров под давлением.
Android · iOS
🖥️
Web-библиотека
Плотные таблицы данных, сайдбар-навигация, многоколоночные лейауты — для менеджеров на десктопе с клавиатурным взаимодействием.
Desktop · Web
💳
POS-библиотека
Полноэкранный touch-интерфейс для стационарных терминалов — увеличенные зоны нажатия, минимальный chrome, высокий контраст.
Touch · Kiosk
🔗
Dev-хэндофф через Figma Dev Mode
Компоненты передавались через Figma Dev Mode после структурированного дизайн-ревью — спеки, отступы и привязка переменных видны прямо в файле. Названия токенов совпадают с кодовой базой 1:1, исключая потери при переводе между дизайном и реализацией.
Figma-плагин — DS Audit

Чтобы обеспечивать консистентность в масштабе, я разработал собственный Figma-плагин, который автоматизирует процесс дизайн-ревью — выявляет нарушения до хэндоффа, а не после.

Birsan
DS Audit — Samgau
Проверка соответствия дизайн-системе для Birsan
Собственная разработка
DS Audit — вкладка аудита DS Audit — чеклист DS Audit — настройки DS
🎨
Аудит цветовых токенов
Сканирует все заливки и обводки во фрейме — подсвечивает любой цвет, не привязанный к токену DS, показывает hex-значение и путь к слою.
📏
Аудит спейсингов
Проверяет все значения padding и gap по шкале отступов — выделяет всё, что выходит за пределы сетки (0, 2, 4, 6, 8…).
Aa
Аудит типографики
Находит текстовые слои с отвязанными стилями или сырыми шрифтовыми значениями вместо токенов DS — обеспечивает типографическую консистентность.
🏷
Нейминг слоёв
Находит дефолтные имена (Group 123, Rectangle 45) и позволяет переименовывать их прямо в плагине — чистые файлы для dev-хэндоффа.
🔄
Подключение другой DS
Любой Figma-файл можно подключить как референсную DS — аудит работает по нескольким брендовым библиотекам, полезно для мультипродуктовых команд.
Чеклист хэндоффа
Чеклист перед ревью: адаптации (Mobile / Desktop / POS), светлая и тёмная темы, готовность Auto Layout — отслеживает прогресс перед каждым дизайн-ревью.

Birsan — POS System

A point-of-sale interface built for speed and accuracy at checkout — touch-optimised, minimal errors under high-volume conditions.

🖥️
Case study in progress

The POS case study covers the cashier and checkout interface — product search, basket management, payment processing, and receipt handling for touch screens.

Coming soon · 2026

Birsan — POS-система

Кассовый интерфейс для быстрой и точной работы — оптимизирован под touch-экраны и высокую нагрузку.

🖥️
Кейс в процессе

POS-кейс охватывает интерфейс кассира — поиск товаров, управление корзиной, обработку оплаты и печать чеков для сенсорных экранов.

Скоро · 2026