История изменений

Всё, что меняется в Orbitly. Сверху — свежее.

  1. v0.5.0

    Новая посадочная и понятный бот

    #

    Что нового

    Посадочная

    • Полностью переделаны /ru и /en. Десять секций: первый экран, «как это работает» в три шага, честный рассказ о тихом запуске, возможности, сценарии, сравнение, тарифы, вопросы и ответы, последний призыв, подвал.
    • Новое позиционирование: «Голосовой AI-ассистент для всей твоей жизни» вместо расплывчатого «инструмент продуктивности».
    • Обращение приведено к «ты» во всех строках посадочной.

    Telegram-бот

    • «Мои данные» покрывают все девять разделов: задачи, заметки, дневник, привычки, события, цели, финансы, здоровье, закладки.
    • Развёрнутый «Мой день»: приветствие по имени, события, главные задачи, привычки, последние показатели здоровья и траты за сегодня.
    • Быстрые кнопки под «Моим днём»: 💧 +Стакан воды и 🔄 Обновить.
    • /help переписан с примерами: голос, фото, пересылка, ссылка, команды.
    • Новая команда /language — переключить язык интерфейса.

    Общий язык

    • users.language стал единственным источником правды: сайт, токен сессии, Telegram-бот.
    • После входа человек попадает на страницу на своём языке — раньше язык брался из заголовка браузера.
    • Смена языка в профиле одним вызовом обновляет базу, сессию и адрес страницы.

    Исправлено

    • Сетка «как это работает» наезжала сама на себя — не были заданы области сетки для широких экранов.
    • Прозрачная шапка просвечивала текстом секций — заменена на сплошной цвет.
    • Пять карточек возможностей в сетке 4×2 оставляли пустые ячейки и разную высоту — заменено на равномерную сетку.
    • Тарифы незалогиненным показывались в оболочке приложения — теперь в обычной, с шапкой и подвалом.
  2. v0.4.0

    Придирчивая проверка Telegram-бота

    #

    Что нового

    Telegram-бот — быстрые пути

    • Правила для очевидных фраз: «спал 7 часов», «вес 75», «8000 шагов», «настроение 7». Модель не вызывается вовсе — экономит запросы и укладывается в сотую долю секунды.
    • Дневник без разбора: «Записать в дневник: …», «Дорогой дневник», «Итоги дня» — запись сразу, минуя модель.
    • Кнопка «Отменить»: после голосового сообщения, создавшего задачи, заметки или события, появляется «↶ Отменить». Живёт пять минут.

    База

    • health_entries.value переведена из INTEGER в REAL — чтобы хранить дробное: сон 7,5 часа, вес 75,3 кг.

    Исправлено

    • Обработчики Telegraf регистрировались дважды при горячей перезагрузке — главная причина задвоенных задач. Каждая перезагрузка при разработке добавляла новый комплект подписок bot.on('message', ...) поверх старых. Починено единственным экземпляром через globalThis — тем же приёмом, что и для клиента базы.
    • Приветствие /start: тому, кто уже привязал аккаунт, теперь «С возвращением, Павел!», а не инструкция по привязке.
    • /help: убраны мёртвые команды /morning и /ask — они никогда не были зарегистрированы.
    • Разбор здоровья в сервисе распознавания: добавлены примеры и жёсткое правило «ключевое слово рядом с числом → всегда запись показателя, никогда „не понял“».
    • Разбор смысла там же: правила против утечки контекста. Контекст — снимок только для чтения, а не источник действий. Больше никаких «Lose 2kg» и «Работа в Яндексе», всплывающих из памяти пользователя.
  3. v0.3.0

    Профиль переделан и память с фильтром доверия

    #

    Что нового

    Профиль (четыре вкладки)

    • Страница /app/profile переделана целиком: четыре вкладки (Профиль, Активность, AI, Настройки) вместо одного длинного списка.
    • Вкладки прилипают под шапкой и остаются видны при прокрутке.
    • Часовой пояс выбирается из списка примерно двадцати двух зон — раньше вводился вручную.
    • У имени пользователя подсказка «Не задан» вместо буквального @—.

    Память AI

    • Фильтр доверия для черт характера. То, в чём модель уверена меньше чем на 80%, больше не показывается. Раньше в интерфейс попадало всё подряд — включая «Не выполняет задачи на протяжении нескольких недель» при уверенности 75%.
    • Правка предпочтений прямо в списке (✎ → ✓/✕, Enter/Escape).
    • confidenceStars(): 60 → одна звезда, 90 и выше → пять, чтобы уверенность была видна глазом.

    Достижения → «Этапы пути»

    • Прежняя сетка «7 из 19» демотивировала. Теперь видны только пройденные и надпись «Ещё N впереди — продолжай в том же духе».
    • Четыре ступени: бронза, серебро, золото, алмаз — каждая со своей цветной точкой.

    Исправлено

    • Расхождение по Pro в админке: сводка и таблица считали по-разному — одна с учётом срока действия, другая без.
    • Подписи настроения в сводках показывали Journal.moodGood ×3 буквально — снова не тот раздел словаря.
    • Карточки целей были не видны: переменная var(--card) не определена — добавил недостающий псевдоним в globals.scss.
    • Соединения с базой копились при разработке: через несколько часов их простаивало 43. Починено единственным экземпляром клиента через globalThis — он переживает горячую перезагрузку.
  4. v0.2.0

    Сводки недели, живая главная и аналитика в админке

    #

    Что нового

    Сводки недели (этапы 1–4)

    • Недельная сводка на странице /app/insights: AI собирает обзор недели из заранее посчитанных фактов — средний сон, закрытые задачи, распределение настроения, итог по деньгам.
    • Четыре этапа: подсчёт фактов → связный текст → подсказки на будущее → перенос важного в память.
    • Сами числа считаются без AI: дни недели делятся на две группы по порогу, и сравниваются средние.

    Главная (этапы 0–3)

    • Приветствие по имени и времени суток, подсказки из памяти, блок «сегодня» с событиями, задачами, привычками и самочувствием, мини-графики за семь дней на карточках сфер, быстрый переход в AI-чат.
    • Карточка итогов дня — появляется вечером или по активности.

    Админка (этапы A и B)

    • Разделы аналитики: регистрации по дням, активные за день, неделю и месяц, самые активные по AI, воронка перехода на платный тариф.
    • Подтверждение перед необратимыми действиями.

    Исправлено

    • Подписи настроения в сводках брали не тот раздел словаря.
    • Значки сфер в боковой навигации показывали служебные ключи (JOURNAL/FINANCE) — добавил карту ORBIT_I18N_KEYS.
    • Правая колонка на странице тегов была пуста — починил липким позиционированием.
    • Карта привычек не была видна на светлой теме: вместо жёстко заданного цвета — переменная темы.
  5. v0.1.0

    Первый выпуск

    #

    Что внутри

    Первый публичный выпуск Orbitly — личной системы на одного человека.

    Сферы

    • Время — задачи, календарь, события
    • Деньги — финансы, бюджеты, категории, счета
    • Здоровье — сон, вес, шаги, настроение, энергия, вода
    • Мышление — заметки, дневник, AI-чат
    • Личность — цели, привычки, этапы пути

    Telegram-бот

    • Голосовое сообщение → распознавание речи → разбор → запись в базу
    • Фото чека → распознавание текста → трата
    • Пересланное сообщение → заметка
    • Ссылка → закладка с превью

    Веб-приложение

    • Главная со сводкой по всем сферам
    • Боковая навигация по сферам
    • Отдельная страница для каждой сферы

    На чём сделано

    • Next.js 16 (App Router) + React 19
    • Drizzle 0.45 + Postgres
    • NextAuth, вход по паролю
    • Yandex SpeechKit — распознавание речи
    • Yandex GPT — определение намерения
    • next-intl — русский и английский