Я собрал себе трекер времени за один день, потому что все существующие меня раздражали
Я фрилансер. Я трекаю время каждый день. За последний год я попробовал Toggl, Clockify, Harvest и пару таблиц в Notion. Каждый раз одна и та же история: либо дорого за базовые функции, либо бесплатно, но UI ощущается как пульт управления атомной электростанцией.
Toggl хочет $13/мес за нормальные фильтры. Clockify бесплатный, но чтобы добраться до таймера, нужно сделать пять кликов. Harvest — $11 за таймер. Просто за таймер.
Мне нужно только простое: нажал Space — работаешь. Нажал ещё раз — остановился. В конце месяца — инвойс. Всё.
Накодил вайбом за день
Я дизайнер и сам кодю свои проекты. В какой-то момент я подумал — почему я плачу за то, что могу собрать себе за вечер? Ну, оказался не вечер, а целый день, но всё равно.
Стек довольно стандартный: Next.js 16, React 19, Supabase для auth и базы данных, Vercel для деплоя. Базу сделал максимально простой — одна таблица user_app_state с JSONB для клиентов и сессий. Не нормализовано, да. Для MVP — идеально. Меньше миграций, меньше боли.
Утром: накидал структуру. Днём: собрал трекер. Всё keyboard-first — Space для старта/стопа, Enter чтобы добавить клиента, Escape чтобы закрыть. Никаких модалок там, где можно без них. Вечером: подключил Google Auth через Supabase, сделал лендинг, задеплоил. Ночью: дополировал экспорт инвойсов и CSV.
Текущее состояние
Он не идеален. Иногда я натыкаюсь на баги. Но всё своё время я уже трекаю только через него — и каждый раз, когда что-то ломается, я сразу это чиню. Настоящий dogfooding в реальном времени.
Что он умеет
- Таймер на Space
- Clients -> Projects -> Tasks
- Статусы: PENDING -> ACTIVE -> DONE
- Ручной ввод сессий (потому что иногда забываешь нажать старт)
- PDF invoice в один клик
- Экспорт в CSV
- Google auth + облачная синхронизация
- fallback на localStorage — работает офлайн
- Тёмная/светлая тема
Что дальше
Пока планов на монетизацию нет. Проект полностью бесплатный и open-source (Apache 2.0). Если он тебе полезен — пользуйся. Нашёл баг — открывай issue. Нужна фича — PR приветствуется.