

Задача
Я фрилансер и каждый день считаю время. Пробовал Toggl, Clockify и Harvest — каждый раз одна и та же история: либо дорого за базовые фичи, либо бесплатно, но интерфейс как пульт атомной станции. Мне нужно было простое: нажал Space — пошёл отсчёт, нажал ещё раз — стоп, в конце месяца — счёт. Поэтому я решил собрать трекер сам.
Решение
Я сделал полный продуктовый цикл сам — от дизайна до разработки. logr — это keyboard-first тайм-трекер: Space — старт/стоп, Enter — добавить клиента, Escape — закрыть. Никаких модалок там, где без них можно обойтись.
Стек намеренно лёгкий — Next.js, React, Supabase для авторизации и базы, Vercel для деплоя. Для MVP схему оставил максимально простой: одна таблица user_app_state с JSONB для клиентов и сессий. Клиенты → Проекты → Задачи со статусами PENDING → ACTIVE → DONE, ручной ввод сессий, PDF-счёт в один клик и экспорт в CSV, Google-авторизация с облачной синхронизацией, fallback на localStorage для офлайна и тёмная/светлая темы.

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

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


Результат
logr запущен и полностью open-source под Apache 2.0 — я веду весь свой тайм-трекинг исключительно через него и чиню баги по мере того, как на них натыкаюсь. Реальный dogfooding. Пользоваться может любой бесплатно: нашёл баг — открой issue, нужна фича — welcome с PR.