Премиум-мебель и интерьеры

Umporta

Публичный сайт umporta.com и закрытый инструмент консультанта для iPad работают на одной системе: каталог, визит клиента, лукбук и продажа, которую подтверждает администратор.

Связаться с намиОткрыть сайт · umporta.com

Umporta: umporta.com

Дом Yılka и Orix в Узбекистане — и всё, что собирается вокруг них.

Umporta не продаёт мебель — она доводит комнату до целого. Диван приезжает из Стамбула, кресло из Бурсы, а двери, кухни, багеты и стены вокруг них делает собственная фабрика под Ташкентом — с 2006 года, из итальянской древесной массы, в один тон. Мы построили систему, которая несёт это обещание: публичный сайт бренда и закрытый инструмент консультанта для шоурума на Юнусабаде.

Продуктовая стратегия · UI/UX-дизайн · Full-stack разработка · Офлайн-инструмент для iPad

Продавать по-⁠настоящему умел только основатель.

Так записано в брифе владельца. Задача звучала прямо — превратить его способ продавать в систему, чтобы бизнес перестал зависеть от одного человека.

Система рассчитана на то, что консультанты шоурума работают в ней с нескольких планшетов одновременно.

В интернете трудность та же: ценность Umporta не вещь, а готовая комната вокруг неё. Витрина с сеткой товаров, ценой и корзиной описала бы совсем другой бизнес, и куда меньший.

Мы выбрали комнату вместо товарной сетки и визит вместо корзины.

Мы построили сайт так, как работает сам шоурум. Сначала идея, затем дома, из которых он собран, затем комнаты вокруг одной выбранной вещи, и лишь потом приглашение зайти.

  1. 01

    Построить навигацию вокруг готовых комнат, а не товарной сетки.

  2. 02

    Сделать визит в шоурум и выезд дизайнера главными сценариями вместо корзины.

  3. 03

    Сделать инструмент консультанта приложением для iPad, которое работает и без сети.

  4. 04

    Отделить закрытые цены от публичного кода, чтобы они не могли попасть на сайт.

Это дизайн Umporta, собранный заново из её собственного кода.

Окно ниже — не картинка. Шрифты, цвета, скругления, разворот партнёра с сайта и выбор материала с бронзовым кольцом из инструмента консультанта пересобраны вживую по исходникам Umporta. Рядом — снимки публичного umporta.com для сравнения.

Партнёр · Стамбул

Yılka

основана в 1952 · Стамбул, Türkiye

Стамбульский дом мебели и интерьерной архитектуры с 1952 года: глубокая посадка, набивка вручную, благородный лён, бархат и мрамор — целые интерьерные сцены, а не отдельные предметы.

Реализованные виллы и резиденции в Дубае, Катаре, Саудовской Аравии и Центральной Азии. В Узбекистане — эксклюзивно в UMPORTA.

Материалы

Это не снимок экрана, а живой HTML и CSS по исходникам Umporta. Выберите материал — бронзовое кольцо обведёт его так же, как в инструменте консультанта.

Шрифты
Italiana · 400
Cormorant Garamond · 300–700
Manrope · variable
Цвета
  • --paper #f6f0e4
  • --ivory #fbf8f1
  • --cream #efe7d6
  • --ink #1c1813
  • --walnut #3d2f22
  • --bronze #8b6f47
  • --burgundy #5e2a26
  • --mute #968874
  • --ink-body rgba(28, 24, 19, 0.74)
  • --line rgba(28, 24, 19, 0.14)
Скругления
3px · .nav .cta
50% · .sw
Анимация
cubic-bezier(0.22, 0.61, 0.36, 1)--ease-signature
700 msdrawRing()
Источник
app/globals.css
lib/fonts.ts
app/[locale]/(public)/web.css
app/consultant/consultant.css
lib/consultant-card.ts (DEFAULT_SWATCHES)
components/consultant/ProductScreen.tsx
lib/brands.ts
Главная страница umporta.com на ноутбуке: кресло в шоуруме и заголовок «Дом, который завершает атмосферу — до целого».Разворот партнёра Yılka на umporta.com на телефоне.
Снимки публичного сайта umporta.com, сделаны 26.09.2026. Без входа в систему и без цен.

Мы закрыли места, где продажа могла бы тихо сломаться.

Один продукт работает в двух противоположных средах: как публичный сайт бренда и как закрытая офлайн-система консультанта в шоуруме.

Где работает
Публичный сайт и закрытая iPad PWA консультанта
На чём построено
Next.js, строгий TypeScript, Supabase и единая проверяемая модель каталога
Если пропала сеть
Собственный service worker, локальный визит и очередь с повторной отправкой
  • Шоурум продолжает работать без сети

    Каталог хранится на устройстве, активный визит переживает перезагрузку, а исходящие действия ждут локально до восстановления связи.

  • Каждой продажей управляет сервер

    Сервер заново считает итог, администратор подтверждает заказ, остатки следуют за подтверждённым статусом, а повторная отправка не создаёт вторую продажу.

  • Закрытые цены не попадают на сайт

    Публичный код не импортирует закрытые цены. Консультант решает, попадут ли они в материал клиента, а сервер проверяет это решение повторно.

  • Каталог остаётся единым источником

    Исходные данные доступны только для чтения. Идемпотентная синхронизация создаёт ресурсы приложения, переносит изображения и проверяет модель перед выпуском.

  1. 01

    Заказ не плывёт за курсом

    Каждая продажа хранит сумму в долларах и в сумах. Курс записывается в заказ, когда его оформляют. Сумма в сумах считается только по этому курсу — и при подтверждении, и при любой правке заказа. У каждого платежа свой записанный курс, и в доллары его переводят по этому курсу.

    Завтрашний курс не меняет вчерашний заказ.

  2. 02

    Курс сума из трёх источников

    Система берёт официальный курс Центрального банка Узбекистана, при сбое — курс из бесплатного сервиса курсов валют, затем — курс, заданный в настройках системы. Ручной курс администратора важнее всех трёх. Курс вне коридора 8 000–25 000 сум за доллар отбрасывается как сбой.

    Курс в 1 сум за доллар из сбойного сервиса до клиента не дойдёт.

  3. 03

    Смена хранилища на ходу

    Система уже работала в шоуруме, когда её данные пришлось перенести из файлов в базу данных. Новое хранилище сначала встроили выключенным — работа шоурума от этого не менялась. Перенос прогоняли на копии данных, и только потом старое хранилище отключили. Номера записей сохранили без единого изменения, чтобы каждая продажа осталась за своим консультантом.

    Хранилище сменили, а каждая продажа осталась под своим номером.

  4. 04

    Каталог из нечитаемых PDF

    Каталог собирали из PDF поставщиков, где текст не читался, — страницы разбирали по изображению. При сборке в нём было 234 записи; у 144 название сверено с сайтами Orix и Yılka. Сомнительные записи отмечены и уходят на проверку. Первое правило — ничего не выдумывать. Пустое поле с отметкой лучше догадки.

    Где источник молчит, в каталоге пустое поле с отметкой, а не догадка.

  5. 05

    Новое поле не потеряется

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

    Поле, добавленное к продаже, не пропадёт молча ни при записи, ни при выгрузке, а старые записи переживают перенос.

7 миграций базы данных · 10 таблиц · 34 страницы · 13 серверных маршрутов · 158 коммитов. Подсчитано нами по репозиторию 26.09.2026.

Пропала сеть в шоуруме — продажа всё равно не потеряется.

Для владельца это значит вот что. Если в шоуруме пропадёт интернет, визит не прервётся: каталог уже на планшете, а действия дождутся связи. Повторное нажатие не создаст вторую продажу — итог пересчитает сервер, а подтвердит администратор. Закрытые цены не попадут на публичный сайт, а завтрашний курс не перепишет вчерашний заказ.

Нужна такая же система для вашего бизнеса?

Опишите задачу в двух-трёх предложениях. Ответим в тот же рабочий день и предложим время для разговора.

Связаться с намиОбсудить задачу в Telegram

  • Отвечаем в тот же рабочий день по ташкентскому времени.
  • Пишите Нодирхону — он подключит того из нас, кто нужен вашей задаче.