Elena Mashitskaya
WorkКейсы  /  ToolingИнструмент

Four sources, one screen

Четыре источника, один экран

Funnels lived in two reports, targets and the media plan in spreadsheets, team throughput in Jira. Nothing showed them side by side. So I built the screen that does: a prototype on my own server, then inside the company's cloud once IT Security asked for it.

Воронки жили в двух отчётах, таргеты и медиаплан — в таблицах, скорость команд — в Jira. Рядом их не показывал никто. Я собрала экран, который показывает: сначала прототип на своём сервере, потом внутри облака компании, когда об этом попросила IT Security.

QIC · Life & Medical · Qatar and the UAEКатар и ОАЭ · 2026 Two releases by AugustДва релиза к августу figures stay internal; the demo below uses made-up numbersцифры остаются внутри; демо ниже — на выдуманных числах
what feeds the screenчто питает экран
BigQueryfunnels, two reportsворонки, два отчёта
Jiratwo boards: web and appдве доски: сайт и приложение
TargetsТаргетыa planning workbookплановая таблица
Media planМедиапланplan versus factплан против факта
synced dailyсинк каждый день
Health Analytics Dashboard
  • Portfolio · targets vs factПортфель · таргеты против факта
  • Discovery · pilotsДискавери · пилоты
  • Teams · throughputКоманды · скорость
  • Brief · one pageБриф · одна страница
inside the company's cloud · single sign-onв облаке компании · единый вход
What existed beforeЧто было до

Everything was measured. Nowhere together.

Всё измерялось. Нигде вместе.

2funnel reportsотчёта по воронкамBuilt on BigQuery by the analytics team. Good, and only about funnels.Собраны на BigQuery командой аналитики. Хорошие, и только про воронки.
3spreadsheetsтаблицыTargets, the media plan, the team flow report. Each with its own owner, each updated by hand.Таргеты, медиаплан, отчёт по потоку команд. У каждой свой хозяин, каждая заполняется руками.
2Jira boardsдоски в JiraWeb and app. Sprint throughput lived there and never left.Сайт и приложение. Скорость спринтов жила там и наружу не выходила.
0screens where they metэкранов, где они сходилисьAny review meant opening all of it and reconciling by eye.Любой обзор — это открыть всё и сверять глазами.

A number nobody can see next to its target is a number nobody acts on.

Цифра, которую не видно рядом с её таргетом, — цифра, по которой никто не действует.

What I decidedЧто я решила

Five calls, and the reason for each

Пять решений, и причина у каждого

Build it, don't wait for itСтроить, а не ждать
The funnel reports existed; the missing piece was the screen around them. A prototype on my own server was the fastest way to find out whether anyone would look at it.Отчёты по воронкам были; не хватало экрана вокруг них. Прототип на своём сервере — самый быстрый способ узнать, будет ли кто-то в него смотреть.
Prototype outside, then move it insideПрототип снаружи, потом внутрь
When IT Security asked for it to live inside the company, that was the right ask. It went into the company's cloud with single sign-on, the corporate GitLab and the formal service-launch process — the same gates any internal system passes.Когда IT Security попросила перенести его внутрь компании, это была правильная просьба. Он переехал в облако компании — с единым входом, корпоративным GitLab и формальной процедурой запуска сервиса, теми же воротами, что проходит любая внутренняя система.
Sync, don't copyСинхронизировать, а не копировать
Every source has a daily sync: funnels from BigQuery, throughput from Jira, targets and the media plan from their workbooks. Access is by the service's identity, not by keys in a config file, and the sync port isn't reachable from outside.У каждого источника — ежедневный синк: воронки из BigQuery, скорость из Jira, таргеты и медиаплан из их таблиц. Доступ по идентификации сервиса, а не по ключам в конфиге, и порт синхронизации снаружи не виден.
Give discovery a screenДать дискавери свой экран
Pilots and hypotheses had no home until they became roadmap items. Now they come first: in work, with a verdict, live. The first step of the funnel finally sits on the same page as the last.У пилотов и гипотез не было места, пока они не становились пунктами роадмапа. Теперь они стоят первыми: в работе, с вердиктом, запущено. Первая ступень воронки наконец на одной странице с последней.
AI writes, my tests decideAI пишет, мои тесты решают
The code is written with AI coding agents. Every sync has tests on a sample of real rows before it touches the live source, and the live run happens only inside the cluster.Код пишут AI-агенты. У каждой синхронизации есть тесты на выборке настоящих строк до того, как она коснётся живого источника, а живой прогон идёт только внутри кластера.
The screenЭкран

What it looks like — with made-up numbers

Как это выглядит — на выдуманных числах

Health Analytics Dashboarddemo · made-up numbers
PortfolioDiscoveryTeamsBrief
targets vs fact · year to date
Product A78%
Product B112%
Product C41%
Product D63%
funnel · Product A · 30 days
12 400
1 860
214
visitsquotespolicies
teams · median closed per sprint
Web27
App19
QA queue37
discovery · pilots
Pilot 1in work
Pilot 2verdict: stop
Pilot 3live
last sync · today 06:10
BigQuery Jira targets media plan

The layout is real, the numbers are not. Products are shown as A to D, pilots as 1 to 3, and the interface is in English, as at work.

Раскладка настоящая, числа нет. Продукты показаны как A–D, пилоты как 1–3, интерфейс на английском, как на работе.

The gatesВорота

What it took to live inside the company

Что нужно, чтобы жить внутри компании

Single sign-onЕдиный входCompany accounts, no shared password.Корпоративные аккаунты, без общего пароля.
Corporate GitLabКорпоративный GitLabMerge requests, a pipeline, a ticket number on every commit.Merge requests, пайплайн, номер задачи на каждом коммите.
Architecture CommitteeАрхитектурный комитетThe formal service-launch process, the same as for any internal system.Формальная процедура запуска сервиса — как у любой внутренней системы.
Releases as versionsРелизы версиямиEach release is a Jira version with a DevOps task. Two by August.Каждый релиз — версия в Jira с задачей DevOps. К августу — две.

DevOps owned the cluster and the access. I owned the product, the code and the tests.

DevOps отвечали за кластер и доступы. Я — за продукт, код и тесты.

What's real hereЧто здесь настоящее

Described, not shown

Описано, не показано

RealНастоящее
  • The four sources and their daily syncs
  • Четыре источника и их ежедневные синки
  • The four screens and what each one holds
  • Четыре экрана и что на каждом
  • The process it went through to live inside the company
  • Процесс, который он прошёл, чтобы жить внутри компании
  • The release count
  • Число релизов
Not shown, on purposeНе показано, намеренно
  • Any number from the live dashboard
  • Ни одной цифры с живого дашборда
  • Product names, internal addresses, people
  • Названия продуктов, внутренние адреса, люди
  • The decisions the numbers led to. Those stay inside
  • Решения, к которым привели цифры. Они остаются внутри

The live dashboard sits behind the company's sign-on and its numbers stay there. Everything on this page is described from memory of building it, not copied from it.

Живой дашборд стоит за корпоративным входом, и его цифры остаются там. Всё на этой странице описано по памяти о том, как он строился, а не скопировано из него.