О команде и продукте

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

Что мы делаем

Продукт называется просто — «Планировщик». Это внутренний таск-менеджер, сросшийся с календарём встреч: задачи, доски, бронирование переговорок, повторяющиеся встречи, напоминания. Отдельного публичного релиза у него нет и не планируется — он живёт внутри компании и решает наши собственные проблемы.

Началось всё в 2023 году с одной таблицы для бронирования четырёх переговорок. К 2026-му это 340 активных пользователей, 11 переговорок в трёх офисах, около 2 800 встреч и 9 000 задач в месяц. Цифры небольшие по меркам публичных сервисов, но достаточно большие, чтобы наивные решения перестали работать — примерно об этом и весь журнал.

Состав

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

Стек без сюрпризов

  • БэкендGo, PostgreSQL 16
  • ОчередиRedis Streams
  • ФронтендTypeScript, без крупного фреймворка состояния
  • Развёртываниетри ноды, скучный docker compose
  • НаблюдаемостьPrometheus, логи в ClickHouse

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

Как мы работаем

Зачем журнал

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

Так что мы вынесли эту половину наружу, вычистив внутренние ссылки и имена систем. Числа в заметках настоящие, округлённые до разумного. Код в листингах — упрощённый, но по существу тот же, что и в репозитории.

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

Начать удобнее всего со списка заметок.