Molochou
← Все работы

Pipeq

Таск-менеджер для небольших команд. PWA, спроектирован и собран в одиночку, offline-first.

SaaSДизайн и разработка2026pipeq.appCase study

Канбан-доска, которой команда действительно пользуется. Доска с продуманными дефолтами, без настройки перед первым использованием и без оплаты за место: создайте её, позовите команду по ссылке или QR-коду и двигайте карточки.

Год
2026
Роль
Всё: дизайн, фронтенд, API, база, инфраструктура
Стек
Next.js 15 · Bun + Hono · PostgreSQL · Docker
Статус
Запущен, ~280 коммитов

Проблема

Командные трекеры вырастают в CRM. Команда, которой была нужна доска с карточками, в итоге настраивает воркфлоу, кастомные поля и правила автоматизации, и платит за каждое место за эту привилегию. Инструмент становится второй работой.

Чтоясделал

01

Доска и карточка, бок о бок

Фирменный десктопный жест: открытая карточка выезжает панелью, а не накрывает доску. Владелец, дедлайн, участники, прогресс, чеклист, теги и вся ветка комментариев, не теряя из виду, где стоит карточка.

02

Два лейаута, один продукт

Мобильный и десктоп - не один экран на разной ширине. Телефон получает нижний таб-бар, колонки-таблетки со свайпом и плавающую кнопку действия, всё достижимо одной рукой. Десктоп получает постоянную боковую панель и выезжающую карточку. Два дерева компонентов, две модели навигации, выбранные на брейкпоинте, а не один лейаут, продавленный через медиазапросы.

03

Один переключатель превращает доску в список

Те же карточки плотным сортируемым списком: статус меняется на месте, чекбокс закрывает карточку не открывая её. Для дней, когда работу хочется читать, а не разглядывать.

04

Месяц и его форма

Дедлайны, разложенные по сетке месяца, просроченное красным. Вид, который отвечает, как выглядит эта неделя, раньше, чем кто-то спросит об этом в чате.

05

Поиск, который пересекает команды, но не тенантов

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

06

Команд много, вы один

Состойте в скольких угодно командах и переключайтесь мгновенно. Каждая команда красит акцент в свой цвет в рантайме, приглашения уходят QR-кодом или ссылкой, а владение передаётся автоматически, когда кто-то уходит, так что осиротевших команд не бывает.

Хомяк, который зарабатывает костюм по мере скролла
07

Хомяк, который зарабатывает костюм по мере скролла

У лендинга была одна задача: объяснить продукт без единой стоковой иллюстрации. Поэтому объясняет маскот: он едет по пиксельной трубе вниз по странице, падает между станциями и приземляется с приплюском. Пять станций, пять спрайтов, и порядок - это аргумент: он начинает ни с чем и заканчивает полностью экипированным. Прокрутите вверх - он разденется.

Прокатитеего

Механика лендинга, пересобранная здесь и живая. Крутите дальше.

Station 01 / 5Just a hamsterScroll back up and he undresses

Подкапотом

Авторизация живёт в Postgres

Каждая таблица ограничена воркспейсом, изоляция обеспечена row-level security, а не памятью о where-условии. Отдельная роль базы, зарезервированное соединение на запрос, чтобы контекст тенанта не утёк через пул, и самопроверка на старте, которая убеждается, что политики запрещают чтение чужих данных, прежде чем процесс начнёт принимать трафик.

Записи упорядочены, а не повторены

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

Деплой - одна кнопка

GitHub Actions синхронизирует репозиторий rsync-ом и пишет креденшалы из Secrets. Инфраструктурные секреты генерируются при провижининге, деплой их не трогает. Править ключи на сервере - не воркфлоу: следующий деплой их перезапишет.

Лендинг - это middleware, а не второй сайт

Разлогиненный посетитель получает статический лендинг, выбранный по устройству; живая сессия проваливается прямо в приложение. Один деплой, один домен, и маркетинг, который не может разъехаться с продуктом.

Результат

Одним человекомСобрано
~280Коммитов
НетОплата за место
Следующий проектKollabaПлатформа