Разбор проекта · 27–28 июля 2026 · версия 3

SkillPulse: что построено, кто уже в этой теме и что делать дальше

Десктопный трекер состояния игрока для Windows. Четыре круга исследования — аудит кода, стратегия, реализация, вскрытие предшественников — и пять независимых фактчекеров поверх. Всё, что не выдержало проверки по первоисточникам, из текста убрано; список ошибок приведён в конце.

83 агента4 круга исследования5 фактчекеров145 утверждений перепровереновсе источники со ссылками
Начало

Замысел и что именно проверялось

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

За 37 дней построен рабочий Windows-коллектор на Raw Input, лаунчер с окном результатов и транзакционный установщик. Ни разу не запускался на реальной Windows-машине.

Четыре круга исследования отвечали на четыре вопроса: что реально построено (аудит кода), кто уже в этой теме (обзор рынка), как это строить (реализация и дистрибуция), почему закрылись предшественники и переносима ли модель WHOOP (вскрытия).

КругЧто выяснялАгентовДокумент
1. Аудит кодачто построено, что работает, что не проверялось2392 находки
2. Стратегиясвоё против Overwolf, идеи, экономика198 направлений
3. Реализацияголоса людей, конкуренты, как строить2327 отвергнутых утверждений
4. Вскрытияпочему умерли предшественники, модель WHOOP1822 фактические ошибки найдены
Фактчекперепроверка всего опубликованного6145 утверждений
Состояние

Что построено за 37 дней

26 725строк C# — коллектор, лаунчер, установщик (перемерено 28.07)
146 411строк обвязки, проверок и документации вокруг
0запусков на реальной Windows
6коммитов на трёх ветках; main не отправлен
76,4 МБустановщик, без подписи кода
естьRaw Input, ring buffer, атомарная запись — написано грамотно

Сделано хорошо — проверено чтением кода

  • Raw Input реализован грамотно. Корректная для x64 раскладка структур, SPSC ring buffer с барьерами, атомарная запись через temp + flush + move.
  • Приватность соблюдена в коде, а не только на словах: нет хуков, чтения памяти игры, инъекций, сетевых вызовов. На диск пишется 24 байта без идентичности клавиши.
  • Установка без прав администратора, транзакционная: staging, backup, rollback, файловый lock.
  • Античит не стоп-фактор — код не делает ничего из того, что ловит EAC.

Не проверялось ни разу

  • Установщик ставится, интерфейс открывается, окно видно.
  • Коллектор получает ввод в полноэкранной игре.
  • 6 092 строки PowerShell синтаксически валидны.
  • Приложение не остановят SmartScreen и Defender.
  • Метрики ввода связаны с игровым результатом.
  • Отчёт кому-то полезен.

Важная деталь из четвёртого круга: длительность удержания клавиши вычислима из потока в памяти — коллектор видит оба края события и хранит PressedPhysicalKeyIdentity. Но из журнала на диске её не восстановить: ContainsRawKeyIdentity = false, маска действий пишется только на нажатии. То есть данные для главной метрики проходят через программу и теряются на записи.

Кладбище · главный экспонат

Garmin GameOn: то же самое, но с настоящими датчиками

Это буквально замысел SkillPulse, только вместо клавиатуры и мыши — пульс, стресс и Body Battery с часов. Обещание на витрине дословно: «Leverage Garmin watch metrics to find your optimal stress level for winning».

Ядро продукта совпадает с вашим до деталей: «Learn your optimal stress zone based on your average stress levels during winning matches» — то есть персональная модель, построенная на своих данных. Ровно то, что задумано.

Экраны, как их видел пользователь

Экран 0
Devices in RangeСписок Bluetooth-устройств. Открывается при каждом запуске, а не только при первом. До него — 18 шагов по официальной инструкции: установщик Overwolf, язык, Terms, Privacy Policy, EULA Garmin, обучение, добавление активности на часах, PIN сопряжения.
Экран 1
HUD поверх игрыВиджет в углу: сегментная шкала стресса (Rest → Low → зелёная зона → Mid → High) с маркером, два индикатора, пульс числом.
Экран 2
Match Summary после каждого матчаСтолбчатая диаграмма стресса по времени с флажками событий, полоса оптимальной зоны, одна цифра Win rate, вердикт из трёх состояний («MATCH READY» / «Relax and reduce your stress» / «Take a break») и текстовый совет.
Экран 3
Activity Summary после сессииТри графика на общей оси: стресс, Body Battery, пульс. Лента матчей с маркерами. Четыре блока агрегатов: Win rate, средний стресс, пульс, расход батареи тела.

Числа

ПоказательЗначениеКомментарий
Загрузки32,3 тыс.за ~4,8 года
Рейтинг2,2 / 5,017 оценок
Распределение1★ — 11 · 5★ — 52★ — 1, троек и четвёрок нет
Последняя версия1.0.8 · 25.10.2023через 7 недель после пресс-релиза
Рекламный ролик14 967 просмотровза три года, канал с 356 тыс. подписчиков
Монетизациянетприложение бесплатное, продавались часы от $299

Что писали пользователи

«Doesn't want to work with my watch (VENU 2). Totally random: doesn't detect; detects but doesn't connect; connects but disconnects by itself in the middle of a game. Pathetically useless.»

Entys, 12.07.2025, 1 звезда

«Doesnt work with my watch (Fenix 7X). I bought it mainly for this, sad but that's life»

neoflake, 01.12.2024, 1 звезда — человек купил часы за несколько сотен долларов ради этой функции

«For those who have trouble connecting, the Garmin watch seems to only be able to connect to one bluetooth device at a time… disable your phones bluetooth and you shouldn't have trouble connecting.»

quilnux, 25.03.2024, 5 звёзд — пятизвёздочный отзыв целиком состоит из инструкции по обходу главного дефекта

«the stress meter would pop up on my screen everytime I did a recall or spawn. I disabled the function to stop the pop up, didn't stop it so I Uninstalled»

r/Garmin, 28.09.2023 — оверлей в бою и неработающая кнопка отключения

Garmin проиграл на инженерии входа, а не на науке.

Из 11 однозвёздочных отзывов девять, максимум десять — про то, что приложение не находит часы, не подключается или отваливается посреди игры. Ни один из 17 отзывов не говорит, что метрики бесполезны или что оптимальная зона стресса неверна.

У них были настоящая биометрия по алгоритмам FirstBeat, персональная модель на своих данных, готовые игровые события от платформы, бренд, витрина и 50+ совместимых устройств. И 2,2 из 5.

Это читается в обе стороны. Позиционирование «WHOOP для игр» уже проверено носителем настоящих датчиков и не взлетело — но провалилось оно на подключении по Bluetooth, а не на самой идее. Вывод «идея плохая» из этих данных не следует. Следует другой: первый экран решает судьбу продукта.

Кладбище · остальные

Ещё семь попыток

КтоЧто делалЧем кончилось
WaveClearИзраильская компания, 2–10 человек, запуск март 2025, только League of Legends Focus Tracker, «Take a Break», ИИ-коуч. Их же слова про механику: «It reads nothing but your digital behavior in game». Настоящее измерение состояния требует веб-камеры и объявлено платным 28,2 тыс. за 16 мес.
23 оценки
52 подписчика на YouTube
жив, но не взлетел
FITGMRЗдоровье игроков: сон, питание, тренировки, ментальное состояние Ручной ввод как несущая конструкция: дебриф после каждого видео, отчёт после каждого матча. Плюс 16 анонсов партнёрств 17 оценок
за 4 года 9 месяцев
на дне
iTeroАссистент для LoL, 907 тыс. загрузок, 4,4/5 Посчитали внутрисессионный спад на 5 млн матчей и 100 тыс. игроков, эффект нашли в описании приложения
этой функции нет
не поставили
Aimlabs+ PremiumПодписка $9,99 из девяти пунктов, анализ ввода — один из них Попытка продать премиум поверх бесплатного тренажёра 176 отзывов
12,5% положительных
Very Negative
Gamer SenseiПлатформа киберспортивного коучинга, куплена Corsair в 2020 Живой тренер по подписке в сделке на $1,3 млн сайта нет
fortniteskillup.ggРазбор стройки и редактирования по локальным реплеям Оценка механики без всякого сбора ввода 177 и 182 голоса
в 2021–2022
домен мёртв
Klikr · Next Level LabsТренажёр скорости кликов · «персональные ИИ-выводы по твоим данным» Метрики ввода и выводы по ним 408 · 1 570 загрузок
1 и 0 оценок
спрос не найден

Вне игр тот же класс продуктов пережил чистку. «Мы измерим твоё состояние и скажем, когда остановиться» — Rize, Timeular, RescueTime, Gyroscope ушли из этой позиции в биллинг и другие задачи. Bevel раздаёт Strain, Recovery и Sleep бесплатно. Выжившие ничего не утверждают о человеке — они показывают факты и оставляют интерпретацию ему.

Чек-лист

Восемь причин, по которым это не взлетает

Каждая проверена на конкретных продуктах. Это список, по которому стоит сверяться перед каждым решением.

1. Состояние продаётся как отдельный продуктВсе провалившиеся продавали состояние как главную причину прийти. Все выжившие встроили его в продукт, за которым приходят по другой причине: у Leetify журнал — иконка рядом со счётом матча, у League of Graphs Patterns — третья вкладка из пяти, у Mobalytics метрика Tilt лежит на третьем уровне вложенности.
2. Первый экран требует настройки вместо цифрыGarmin: список Bluetooth-устройств при каждом запуске, 18 шагов до первого числа, 9–10 однозвёздочных отзывов из 11 — про это.
3. Набор советов конечныйУ Garmin три текста. Пользователь видит их в первый вечер. Плюс мягкое напоминание — самая игнорируемая форма вмешательства из измеренных: 2,19% соблюдения (CHI 2019).
4. Оверлей во время бояДословная причина удаления: всплывал при каждом респауне, кнопка отключения не работала.
5. Сводный счёт расходится с самочувствиемMarco Altini, 50+ публикаций: «sleep quality scores, readiness and recovery scores, stress, body battery, Strain — stay away from all of these». У WHOOP на это есть HRV. У трекера ввода возразить нечем.
6. Ручной ввод как несущая конструкцияFITGMR требовал заполнять всё вручную — 17 оценок за пять лет. У Leetify журнал требует «dozens or even hundreds of entries» их же словами.
7. Ноль телеметрии — нечем защищать продуктGarmin: «does not collect or process personal data through the app». Внутри компании не было ни одной цифры удержания, когда решали, развивать или закрыть.
8. Наблюдательная связь выдаётся за причиннуюЛовят не эксперты, а игроки. В ветке про ровно этот замысел возражение выдвинули шесть независимых человек: «But are you tilted because you lost or did you loose because youre tilted?» Это была самая частая реакция — чаще, чем одобрение.

Дополнительный пункт про уведомления: Damgaard & Gravert (2018) показали, что напоминания увеличивают и целевое действие, и отписки, а «не учитывая скрытые издержки, эффект переоценивается в десять раз». В Duolingo после опыта Groupon действует правило: менять можно что угодно, кроме количества уведомлений — только с одобрения руководителя.

Кто работает

Живые продукты и что они трекают

ПродуктЧто показываетМасштабГде у них состояние
League of GraphsБесплатно, без регистрации Винрейт по часу суток, после серий, и четыре графика против номера матча в сессии: винрейт, золото в минуту, участие в убийствах, обзор. Сессия = разрыв менее 6 часов бесплатно вкладка Patterns, третья из пяти
PorofessorВторой одиночка на площадке Ярлык из двух слов плюс механизм и одно число: «Too confident» → «−5%». Про чужих игроков в лобби, не про себя 17,4 млн загрузок в общем ряду ярлыков навыка
WhatPulseБлижайший аналог по типу данных, 23 года Клавиши, клики, аптайм, фокус и простой — бесплатно. Платно только глубина истории и экспорт. 23.07.2026 выпустили Gaming Session Tracker 500 000+ польз.
$25/год
состояния не утверждает вовсе
LeetifyЕдинственный, кто спрашивает человека напрямую Опрос да/нет после матча, корреляции ответов с винрейтом, доверительные интервалы с марта 2025 за платной стеной, в продающих материалах не используется
Mobalytics Метрика Tilt внутри блока Consistency с 2017 третий уровень вложенности внутри GPI

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

Честная оговорка о качестве этого вывода: выборка сделана по выжившим. Изучены четыре живых продукта и ноль провалившихся, устроенных так же. Из такой выборки нельзя отличить «встроенность спасает» от «встроенным становится всё, что делают компании с уже работающим продуктом».

Образец

Firestone: что на самом деле сделал одиночка

Себастьен Тромп, Франция. Приложение для Hearthstone, 3 657 775 загрузок, 4,0 из 5 при 132 оценках, подписка $4,99 в месяц. В репозитории 14 631 коммит, из них 14 292 его собственных, с октября 2017 года. Это девять лет ежедневной работы, а не спринт.

Три вещи, которые обычно пропускают, когда приводят его в пример:

Начинал не с того, чем стал

Его слова в интервью 2019 года: «I started building two apps: one focused on collection features and card management, and one that would grant achievementsAs development progressed, we added in a deck tracker».

То есть через два года после первого коммита это было приложение про коллекцию и достижения для казуальных игроков — гипотеза ближе к SkillPulse, чем к трекеру. Она сама не взлетела; повод возвращаться он добавил задним числом.

Не был один там, где слаб

Его слова, 2021: «my graphical skills are terrible, but Firestone looks as good as it does today because Jasmin, who's an OW designer, does most of the graphical work… they're willing to help me financially for a while».

Платформа дала рекламную монетизацию, дизайнера, техническую обвязку, витрину и прямую финансовую поддержку. «Одиночка» верно про код, неверно про дизайн, деньги и дистрибуцию.

Уходит с платформы

Август 2025: «I'm also carefully considering building a non-Overwolf version». В репозитории уже есть apps/electron-app и релизы 0.0.6–0.0.8 от февраля 2026.

Вывод меняется: платформа даёт стартовый разгон, но не становится постоянным преимуществом.

Кривая роста важнее итога. С апреля 2024 по декабрь 2024 — рывок примерно 223 тыс. загрузок в месяц. До этого около 60 тыс., после — 86 тыс., сейчас около 45 тыс. и падает. Весь масштаб сделало одно окно в четыре месяца, а не равномерный рост.

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

Модель

WHOOP: почему люди платят за то, что только измеряет

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

Strain — нагрузкаСколько организм отработал за день. Считается непрерывно по пульсу, шкала нелинейная. Это факт о прошедшем дне, без оценки «хорошо или плохо».
Recovery — восстановлениеНасколько тело готово к нагрузке. Основа — HRV, пульс покоя, сон. Нормируется на личную базу, а не на популяцию. Это единственная величина с цветом и оценкой.
Sleep — сонУправляемая переменная: сколько нужно сегодня с учётом долга и вчерашней нагрузки. То, на что человек может повлиять прямо сегодня вечером.

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

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

Опора WHOOPЧто даётЕсть ли у трекера ввода
Непроизвольный сигналHRV нельзя подделать усилием волинет — ввод произволен
Покрытие 24/7измеряет и во сне, и в покоенет — 8,3% суток
Золотой стандарт для сверкилабораторные измерения HRV и снанет
Знание, недоступное человекучто происходило ночьюнет аналога «ночи»

Ноль из четырёх. Это и есть главный ответ на вопрос, переносится ли модель.

Единственная механика WHOOP, переносимая без физиологии, — Journal и Behavior Impacts: человек отмечает поведение (кофеин, алкоголь, тренировка), а система показывает, как это связано с его собственными числами. Она не требует датчика и работает на любых данных. Именно её реализовал Leetify.

Проект

«WHOOP для игр»: как это выглядело бы конкретно

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

Величина 1
РАБОТА — аналог StrainАктивные минуты: окна, где игра в фокусе не менее 30 секунд и не менее 30 действий в минуту. Просто факт, без порогов, без цвета, без оценки. Аналог «сколько ты сегодня отработал».
Величина 2
РОВНОСТЬ — аналог RecoveryКоэффициент вариации длительности удержания клавиш против личной базы за 14 и 60 дней. Порог показа — 150 нажатий; при выборке меньше 60 числа нет вовсе. Рядом обязательна расшифровка: «медиана 92 мс · разброс 14 мс · 640 нажатий», чтобы число не выглядело точнее, чем оно есть.
Величина 3
ХОД СЕССИИ — аналог SleepПервые десять активных минут против последних: по темпу, разбросу и плотности. Ярлык из двух слов, как у Porofessor, а не абзац текста.

Как обходятся причины провала

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

Сознательные отказы

  • Не утверждать ничего о состоянии человека — показывать ввод, а не диагноз.
  • Не обещать рост результата.
  • Не показывать число, пока выборка мала. Честное «данных пока недостаточно».
  • Не слать уведомления — канал разрушается навсегда.
  • Не делать оверлей во время игры ни в каком виде.
Честно

Где эта конструкция рвётся

Шесть разрывов, каждый проверен отдельным скептиком. Это не аргументы против попытки — это то, что надо знать до неё.

РазрывВ чём именно
ФизикаНет непроизвольного сигнала: ввод можно изменить усилием воли. Покрытие 8,3% суток вместо 100%. Золотого стандарта для сверки не существует. Ноль из четырёх опор WHOOP
МодельНет Y — переменной результата, с которой можно сверять. События матчей Overwolf раздаёт бесплатно, но архитектура выбрана так, что их нет
ЦенностьАналога «ночи» нет: человек и так знает, сколько играл и как себя чувствовал. Внутрисессионный спад League of Graphs уже показывает бесплатно
ДистрибуцияНеподписанная программа, читающая нажатия клавиш. EV-сертификат больше не даёт репутации SmartScreen
ДеньгиРыночная цена работы такого коллектора равна нулю: WhatPulse раздаёт это бесплатно 23 года. Оба выживших одиночки говорят одно: «donations / premiums just don't cut it»
Аудитория53% игроков Fortnite в США — дети 10–12 лет, около 70% живут с родителями, ядро на консолях. FTC уже взяла с Epic $520 млн по делам о детях

Вердикт четвёртого круга: «WHOOP для игр» в исходной формулировке не держится — но то, что под ней, держится.

Модель WHOOP стоит на четырёх опорах, которых у трекера ввода нет ни одной. Строить надо не «оценку состояния», а личную запись ввода без утверждений о человеке — то, что WhatPulse делает 23 года и на чём держится, только с игровым смыслом, которого у него нет.

Условие, при котором вердикт меняется: длительность удержания плюс события матчей через Overwolf плюс восемь недель записи на себе. Получится корреляция 0,3 и выше — направление «состояние» живо. Не получится — закрывать эту часть и оставлять запись фактов.

Доказательная база

Что говорит наука

УтверждениеДанныеИсточникВывод
Внутрисессионный спад существует на популяции242 352 матча
207 883 матча
Sapienza 2018
Bikas 2023
не спад, а окно
…и переносится на конкретного человекаR² = 0,000519Bikas 2023нет — 0,05% разброса
Показ игроку метрик его ввода улучшает игруp > 0,377
n = 10
CHI 2024эффекта не нашли, результат неокончательный
Люди выполняют мягкие напоминания2,19%CHI 2019самая игнорируемая форма
Мышь и клавиатура предсказывают состояниеρ = 0,078 общая
0,188–0,296 персон.
ETH Zurichслабый сигнал
Метрики ввода связаны со спадом в играхпрямых работ
не нашли
Front Nutr 2025, n=23почти пробел
Длительность удержания различает состояние человекаAUC 72,1% / 80%JMIR 2022подтверждено
Удержание выявляет раннюю болезнь Паркинсона — другая задачаAUC 0,81neuroQWERTYподтверждено
29 часов без сна ухудшают игровой результат40 участников
Rocket League
Smithies 2024не ухудшили

Три уточнения важнее самих цифр. У Bikas винрейт не падает монотонно — он растёт с 49,75% до 50,96% к девятому матчу и опускается ниже исходного только после двенадцатого; авторы называют это окном, а не спадом. Даже полное лишение сна не сдвинуло игровой результат. И персональные модели по средней ошибке не превосходят простое предсказание личного среднего — то есть правильная развилка не «работает против не работает», а «слабый сигнал, требующий подтверждения».

Что осталось свободным

Единственная незанятая точка

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

72,1%AUC различения «уставший / отдохнувший» у одного человека по 150 нажатиям JMIR 2022
80%AUC при склейке четырёх последовательных сессий
ни у когоиз пяти живых продуктов нет ни одной метрики моторики
0совпадений по dwell · holdTime · heldKeys в вашем репозитории

Точная формулировка, после проверки первоисточников. В работе по болезни Паркинсона сигнал — именно удержание. В JMIR 2022 удержание входит в набор из четырёх временных признаков, и вклад каждого авторы не разделяли. Утверждение «скорость печати различий не даёт» неверно: на том же наборе данных Giancardo 2015 получил AUC 0,73–0,79 для скорости. Удержание работает лучше, но лучше, а не вместо.

А в коде — Program.cs, метод RecordKeyboard: по нажатию инкрементится KeyDownCount, по отпусканию KeyUpCount. Два независимых счётчика, пара не образуется. Данные для этой метрики проходят через программу в памяти и теряются при записи на диск.

26 725 строк меряют темп и его разброс — ровно то семейство величин, про которое литература говорит «состояние не различает». Правка — уровня одного события, один день работы.

Действия

Неделя, которая закрывает вопрос

День 1
Доходят ли события вообщеРаннер windows-latest в Actions или живая машина. 30 минут в полноэкранном Fortnite. Смотреть raw_input_queue_peak_depth и raw_input_read_error_count. Не доходят — всё остальное подождёт. Помните урок Garmin: продукт убивает вход, а не аналитика.
День 2
Разрезать решениеКоллектор — отдельный проект без WinForms, только P/Invoke и message-only окно.
День 3
Связать нажатие с отпусканиемХранить время нажатия по клавише, при отпускании писать длительность на диск. Проверка сразу: на обычной печати медиана должна попасть в 70–130 мс.
День 4
Писать на диск и померить объёмНазвать цифру за час игры.
Дни 5–6
Собрать свои данныеПять сессий по 2–3 часа. Каждый вечер одной строкой: «нормально» / «под конец поплыл» / «устал сразу». Без этой записи седьмой день бессмысленен.
День 7
Точка решенияМедиана и разброс удержания по получасам. Критерий записан заранее: сдвиг между первым и последним получасом ≥ 8%, разброс его не перекрывает, направление совпало с вашей записью минимум в 4 вечерах из 5.

Сигнал есть → неделя 2

  • MSIX через Windows Application Packaging Project, runFullTrust, автозапуск через startupTask.
  • Экран согласия, политика приватности, заметка в Notes for certification про глобальную регистрацию Raw Input.
  • Первые 20–50 пользователей вручную, по 20 адресных обращений в день.
  • Телеметрия открытий с первого дня — иначе через месяц нечем будет решать, продолжать или нет.

Сигнала нет → неделя 2

  • Страница в браузере, которая меряет то же самое через keydown / keyup на коротком тесте печати.
  • Снимает разом SmartScreen, антивирус, античит, рефлекс «кейлоггер» и сертификацию магазина.
  • Отдать бесплатно, посмотреть на возвраты. Слова для заголовка — из ряда «typing test / reaction time».
  • Ничего не вышло — тема закрыта честно. Коллектор остаётся опытом, а не убытком.
Деньги

Экономика без иллюзий

~2 000запросов в месяц по всему кластеру про счётчики ввода
447 000запросов «typing test» — тот же интерес, другое слово
~40установок за первый месяц — единственная публичная цифра запуска одиночки под Windows
$0рыночная цена работы коллектора: WhatPulse раздаёт это бесплатно 23 года

Модель: бесплатное ядро плюс разовая лицензия 15–20 евро. Подписка в этой теме не мертва — WhatPulse держит $25 в год с 2003, Firestone $4,99 в месяц — но обе стоят на многолетней репутации, которой пока нет.

Механика Firestone, которую стоит взять: не платная стена, а дневная бесплатная квота. Человек пользуется бесплатно каждый день, но упирается в лимит на активном использовании.

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

Организация

Как работать дальше

БылоК чему привелоКак надо
37 дней без системы контроля версий, первый коммит 27.07.2026по main нельзя откатиться и понять, что когда сломалоськоммит на смысловой шаг, push в тот же день
Проверки написаны до первого запуска88 075 строк упаковки проверяют формат, ни разу не полученный от живого источникапроверка появляется на следующий день после первого реального артефакта
Формула оценки не покрыта тестомподмена двух весов проходит все 58 шагов зелёнойзолотые векторы пишутся в тот же день, что и формула
Веса взяты из головы и не помеченычисло, которое видит пользователь, непроверяемоконстанта-гипотеза именуется и комментируется в коде
Премиса не проверена37 дней кода под гипотезу, проверяемую за деньсначала данные, потом код
Ни одной новой строки в scripts/Там уже 88 075. Ни одного нового «гейта», «пака» и «прува».
Проверка гипотезы — максимум два дняOpenDota отдаёт 250 игроков за 13,5 секунды без ключа и регистрации.
День заканчивается коммитом и пушемВетка main с основной историей до сих пор не отправлена.
Телеметрия с первого дняGarmin закрыл продукт, не имея ни одной цифры удержания. Знать, сколько людей открыли приложение второй раз, важнее любой метрики внутри него.
Стоп-лист

Чего не делать

Не продавать состояние отдельноВсе провалившиеся продавали его как главную причину прийти. Все выжившие встроили его в продукт, за которым приходят по другой причине.
Не делать сводный баллЕго нечем защитить: у WHOOP на такое возражение есть HRV, у трекера ввода — ничего.
Не доводить EXE-установщикБлокирует репутация: SmartScreen требует недель и сотен чистых установок. Магазин подписывает только MSIX.
Не брать EV-сертификатMicrosoft прямым текстом: платить за EV только ради SmartScreen больше не оправдано. Поведение убрали в августе 2024.
Не идти в LoL и CS2League of Graphs показывает это бесплатно, Leetify закрыл вопрос «почему» в марте 2025.
Не строить обещаний на винрейтеПодбор соперников возвращает его к 50% по построению. Возражение про причинность игроки выдвигают сами и первым.
Не делать оверлей во время бояДословная причина удаления у Garmin: всплывал при каждом респауне, кнопка отключения не работала.
Не строить на ручном вводеFITGMR требовал заполнять всё вручную — 17 оценок за пять лет.
Не слать уведомленияНапоминания увеличивают и отписки; канал разрушается навсегда, и вернуть его нельзя.
Не ставить APM заголовочной цифройКривая уже у Outplayed с 16,4 млн загрузок, и первым придёт возражение, что APM ничего не говорит о скилле.
Проверяемость

Что пришлось исправить по ходу

Четыре круга исследования дали 172 находки, из которых 73 были исправлены или отброшены верификаторами. Затем пять независимых фактчекеров прошли по опубликованной странице: из 145 утверждений 97 подтвердились, 14 оказались неверными, 26 неточными, 8 проверить не удалось. Четвёртый круг нашёл у самого себя ещё 22 фактические ошибки и 7 обрезанных цитат, менявших смысл.

Было заявленоЧто показала проверка
«Aimlabs провалился: подписка на анализ ввода получила Very Negative»Aimlabs+ — общая подписка из девяти пунктов. Сам Aimlabs: Very Positive, 66 032 отзыва, 90% положительных
«В обеих работах сигнал несёт именно удержание»В JMIR 2022 на вход идут четыре временных признака, вклад каждого авторы не разделяли
«Скорость печати различий не даёт»Опровергнуто первоисточником: у скорости AUC 0,73–0,79. Удержание лучше, но не вместо
«100 запросов в месяц — весь поисковый спрос»Кластер около 2 000 запросов. Опровержение лежало в собственном документе абзацем выше
«Remote пуст, проект в одном экземпляре на диске»На GitHub лежит ветка с четырьмя коммитами; всего 6 коммитов на трёх ветках
«Доска идей выгружена целиком — 4 218 идей»На доске 8 392 идеи. Просмотрена половина, числа по голосам — нижние оценки
«Показ метрик ввода не улучшает игру — опровергнуто»10 участников без контрольной группы; авторы считают результат неокончательным
«Работ про метрики ввода и спад в играх нет»Прямых нет, но есть РКИ на 23 игроках LoL, где клавиатурные метрики значимо просели к вечеру
«Часы Garmin уценены до $34,69»Ложь: цена взята с соседнего рекламного блока чужого товара
«У Garmin не было поддержки»Верно только для магазина Overwolf; на форуме Garmin официальный аккаунт отвечал развёрнуто
«24 395 строк C#»26 725 при повторном пересчёте 28.07
«Первая реакция людей — это кейлоггер»Пост набрал 0 голосов, возражение в том же треде было снято
Источники

Всё, на чём построен разбор

Научные работы
  • JMIR Biomedical Engineering, 2022Различение «уставший / отдохнувший» у одного человека по временным признакам набора. AUC 72,1% по 150 нажатиям, 80% при склейке четырёх сессий. Ключевая работа.
  • Giancardo et al., Scientific Reports 2015Первоисточник по набору данных sleep inertia. AUC 0,73–0,79 у скорости печати, 0,91–0,93 у признаков удержания.
  • neuroQWERTY, Scientific ReportsРанняя болезнь Паркинсона по клавиатурному вводу, AUC 0,81 — лучше клинических тестов постукивания.
  • Sapienza et al., 2018242 352 матча LoL, 16 665 игроков. Спад внутри сессии и предсказание момента остановки (AUC 0,830).
  • Bikas et al., CHI PLAY '235 000 игроков, 207 883 матча. Источник R² = 0,000519 и вывода про окно, а не спад.
  • CHI 2024Игрокам три недели показывали индексы их ввода. Влияние на игровые показатели не значимо (p > 0,377) при n = 10.
  • ETH Zurich36 сотрудников, 8 недель: мышь и клавиатура против самооценки. ρ = 0,078 общая модель, 0,188–0,296 персональные.
  • Smithies et al., 202440 участников, 20 пар: после ~29 часов без сна результат в Rocket League не изменился.
  • Frontiers in Nutrition, 2025РКИ на 23 игроках LoL, ввод снимался через WhatPulse. Клавиатурные метрики значимо просели к вечерней сессии.
Продукты, которые закрылись или не взлетели
  • Garmin GameOnВитрина с числами: 32,3 тыс. загрузок, 2,2/5, 17 оценок, версия 1.0.8 от 25.10.2023.
  • Garmin GamingФормулировка ядра продукта: оптимальная зона стресса на основе выигранных матчей. Линия часов жива.
  • WaveClearСтартап с командой. Focus Tracker без камеры — переупакованные игровые события, по словам самого основателя.
  • FITGMRРучной ввод как основа: 17 оценок за 4 года 9 месяцев.
  • Aimlabs+ Premium176 отзывов, 12,5% положительных. Провал подписки, а не продукта.
Продукты, которые работают
  • FirestoneОдин разработчик, 3,66 млн загрузок, 14 631 коммит с 2017 года, подписка $4,99. Открытый код.
  • WhatPulse23 года, 500 000+ пользователей. Считает клавиши и клики бесплатно; платно — глубина истории. Тарифы.
  • League of GraphsБесплатно показывает четыре графика против номера матча в сессии — половину замысла SkillPulse.
  • LeetifyPost-Match Journal: опрос после матча и корреляции с винрейтом, с доверительными интервалами.
  • PorofessorВторой одиночка, 17,4 млн загрузок. Образец подачи: ярлык из двух слов плюс одно число.
  • Outplayed16,4 млн загрузок. Кривая APM вдоль таймлайна матча. FAQ.
Документация и данные
  • Microsoft: репутация SmartScreenEV-сертификат больше не снимает предупреждение; надёжный путь — публикация в Microsoft Store.
  • Microsoft: политики StoreПрямого запрета на мониторинг ввода в политиках нет.
  • Overwolf: список игр GEP58 позиций в production, включая Fortnite, CS2, Valorant, Dota 2, LoL.
  • Overwolf: inputTrackingСнимок кумулятивных счётчиков без меток времени, порог «5 минут и 30 клавиш».
  • OpenDota APIИстория матчей с таймстемпами без ключа и регистрации — на этом делалась проверка премисы.
  • Доска идей OutplayedВсего 8 392 идеи; просмотрено 4 218, найдено не менее 19 про статистику ввода на 75 голосов.
Итог

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

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

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