Головне
- Замінив одну сторінку «скоро запуск» на реальний, 20-маршрутний, двомовний (EN/UK) продуктовий сайт з повним контентом для кожного розділу — 40 сторінок загалом.
- Виправив живий баг, коли логотип сайту завантажував вбудоване зображення на 242 КБ на кожній сторінці, сповільнюючи сайт і роблячи його схожим на зламаний; замінив на векторний знак на 3 КБ.
- Того ж дня переробив сайт ще двічі: редакційний прохід v2 з фіксованим хедером і системою анімацій, потім перебудова v3 на Next.js з власним курсором і магнітними кнопками.
- Об'єднав дизайн-систему сайту з самим застосунком — один шрифт (Manrope), один набір токенів кольору й радіусу — тож сайт і застосунок нарешті виглядають як один продукт.
- Побудував і зміцнив Control Center, наш перший внутрішній дашборд, і переніс хостинг зі стороннього провайдера на AWS, залишивши Supabase бекендом.
Спершу — живий баг: логотип на 242 КБ
До будь-якого редизайну я знайшов і виправив дещо незручне: файл логотипу в шапці сайту мав вбудоване зображення на 242 кілобайти прямо всередині себе, яке жадібно завантажувалося на кожній без винятку сторінці. Це дуже багато ваги для знаку, який має важити кілька кілобайт, і це робило сайт повільним — на повільнішому з'єднанні він міг справді виглядати зламаним, поки логотип довантажувався. Я замінив його чистим масштабованим векторним знаком у стилі справжньої іконки iOS-застосунку, у світлому й темному варіантах, приблизно по 3 КБ кожен. Маленьке виправлення, але саме той тип, що важить більше за більшість роботи над функціями, бо він стосується буквально кожного відвідувача на кожній сторінці.
Від однієї сторінки до реального сайту
Сайт від самого початку був однією сторінкою «скоро запуск». Я перебудував його з нуля в справжній багатосторінковий продуктовий, брендовий, трастовий та інвесторський сайт — двадцять окремих маршрутів, кожен англійською й українською, сорок сторінок загалом, згенерованих зі спільної дизайн-системи й шаблонів сторінок, а не вручну продубльованого HTML. Кожен розділ застосунку отримав свою реальну сторінку: досвід мами, планування, вагітність, дитина, спогади, коло турботи, здоров'я, ШІ-асистент, маркетплейс, як це працює, приватність і безпека, ресурси, про нас, інвестори, підтримка, ранній доступ, завантаження.
Тут я був обережним із чесністю в обидва боки. Випущені функції показані реальними скріншотами з реального застосунку, а не постановочними маркетинговими кадрами. Все, що ще в дорожній карті, намальоване як діаграма, ніколи не подане як скріншот того, чого ще не існує, і кожен пункт дорожньої карти прямо позначений як «доступно зараз», «далі» чи «майбутнє» — ніколи не змішано разом. У футері — чіткий застережний напис «не медичний пристрій», і ніде на сайті немає заяв про тракшн чи кількість користувачів, яких у нас немає.
Ще два редизайни того самого дня
Пізніше того ж дня я переробив сайт знову — двічі. Перший прохід (v2) виправив баг макета, через який навігація на десктопі переносилася у два рядки, бо хедер ніколи не отримував правильної flex-верстки, і скористався нагодою додати фіксований розмитий хедер, що ховається при скролі, повноекранне мегаменю, більший дисплейний шрифт, паперову текстуру й скролітелінг на головній з закріпленим телефоном і горизонтальною стрічкою подорожі. Другий прохід (v3) пішов далі: повна перебудова на Next.js, спрямована на справді відшліфоване, майстерне відчуття, включно з власним курсором, що слідкує за вказівником і «розігрівається» над інтерактивними елементами, і кнопками з легким магнітним притяганням до курсора — обидва суто прогресивні покращення, які повністю зникають на сенсорних пристроях і за налаштувань зменшеного руху, тож ніщо на сайті не залежить від того, чи вони працюють.
Десь посередині я ухвалив рішення, яке, гадаю, важить більше за будь-який окремий редизайн: прибрав серифний шрифт, яким користувався сайт, і перейшов на єдину дизайн-систему, спільну із самим застосунком, — один шрифт (Manrope, ті самі накреслення, що вже вбудовані в застосунок), ті самі токени кольору, ті самі значення радіуса кутів. До цього сайт і застосунок були впізнавано пов'язані, але візуально не зовсім один продукт. Тепер вони збудовані з одних токенів — невелике технічне рішення з непропорційно великим впливом на те, наскільки все це виглядає заслуговуючим довіри.

Наш перший внутрішній дашборд: Control Center
Того ж дня я також побудував першу версію того, чого ніхто поза командою ніколи не побачить: внутрішній дашборд для команди, Control Center. Чесно керувати продуктом означає мати змогу правдиво бачити, чи він здоровий — активні користувачі, утримання, засвоєння функцій, як насправді працює ШІ-асистент і його фільтр безпеки, чи система працює. Я побудував його за правилом, яке для мене дуже важливе: коли реальне джерело даних (Supabase) не налаштоване, він показує чітко позначений демовигляд із вигаданими цифрами, а не продакшн-екран, що тихо показує фейкові дані, ніби вони справжні. Доступ на основі ролей, а найчутливіша дія «розбити скло» (розкриття персональної інформації) обмежена найстаршою роллю й вимагає письмової причини та другого кроку підтвердження, з усім записаним в журнал аудиту.
Пізніше того ж дня я пішов далі й зміцнив його: тепер помилки конфігурації відмовляють закрито замість тихого падіння в демо, доступ до ролі співробітника працює лише за запрошенням, і сам застосунок почав відправляти реальні, безпечні для приватності, позбавлені значень події використання (жодного персонального контенту в жодному полі події), щоб чесно наповнювати цей дашборд замість того, щоб він лишався постійно порожнім.

Переїзд хостингу на AWS
Закриваючи інфраструктурну роботу того дня, я переніс усе, що компанія може хостити, зі старого стороннього хостингу на AWS, залишивши Supabase точно там, де він був, для даних, автентифікації й row-level security — на старому хостингу його ніколи й не було. Три окремі застосунки тепер автоматично деплояться з нашої гілки main: сайт, лендинг-застосунок і сам Control Center. Домени лишаються вказувати на стару конфігурацію, поки DNS свідомо не буде перенесено, тож це була зміна хостингу без видимого збою, а не миттєвий перехід.
Де і коли
- 03.09.2026, 00:56–06:22 — Повна багатосторінкова основа сайту й глибокий контент для кожного розділу (мама, ШІ, приватність і безпека, коло турботи, дитина, як це працює, інвестори, про нас, планування, вагітність, спогади, здоров'я, маркетплейс, підтримка, завантаження, ресурси, політика приватності, умови), плюс згенеровані sitemap і robots.txt — 20 маршрутів × 2 мови (e54f5c4, 032ed02, bf149ca, b083180, bbcbb44, 2839e41, 70bb20c, f349954, c4d0506).
- 03.09.2026, 05:06 — Виправлений баг логотипу з вбудованим зображенням на 242 КБ; замінений на світлий/темний векторні знаки (~3 КБ кожен) (e899780, влитий як PR №4 о 83b5d8f).
- 03.09.2026, 08:44 — Сайт v2: фіксований хедер з робочою десктопною версткою, повноекранне мегаменю, система анімацій, перестилізовані підсторінки (348a896, влитий як PR №5 о 0dc653a).
- 03.09.2026, 08:54 — Дизайн-система об'єднана із застосунком: прибрано серифний шрифт на користь лише Manrope, токени кольору й радіуса тепер дзеркалять власні токени застосунку (4131866).
- 03.09.2026, 12:27 — Сайт v3: перебудова на Next.js у бік більш відшліфованого, майстерного досвіду (0e30640, влитий як PR №6 о 9425e86).
- 03.09.2026, 13:27 — Control Center v1: перший внутрішній дашборд, безпечні для приватності метрики, доступ на основі ролей, розділення демо- й реальних даних (1646d1b, влитий як PR №8 о b185d2e).
- 03.09.2026, 15:34 — Сайт v3: доданий власний курсор і магнітні кнопки як безпечні для сенсорних екранів і зменшеного руху прогресивні покращення (35ababc).
- 03.09.2026, 17:01 — Control Center зміцнений: конфігурація відмовляє закрито, доступ для команди лише за запрошенням, реальна безпечна для приватності аналітика використання підключена із застосунку (a866523).
- 03.09.2026, 17:14–17:39 — Хостинг сайту, лендингу й Control Center перенесений на AWS через Terraform, Supabase залишений бекендом; додано неруйнівний інструмент перевірки бази даних для майбутніх міграцій (4c61db0, 933df76, 9921db2).
Що це означає, якщо ти заходиш на сайт
Якщо ти заходила на mommyrefuel.com до цього дня, ти бачила одну сторінку. Якщо після — ти знайшла справжній, навігований сайт: кожна частина застосунку має свою чесну сторінку, англійською й українською, з реальними скріншотами там, де функції існують, і чітко позначеними діаграмами дорожньої карти там, де ні. Ніщо з цього не торкнулося самого застосунку, а внутрішній дашборд — саме те, чим є: внутрішній. Він існує, щоб рішення про застосунок ухвалювалися з реальних цифр, а не здогадок, і його правило чесності в демо-режимі — той самий принцип, що проходить через усе інше в цьому списку змін.

Питання, які ставлять мами
Чому сайт переробили двічі за один день?
Прохід v2 виправив реальний баг макета й модернізував хедер і анімації. Прохід v3 був глибшою перебудовою на Next.js, спрямованою на відшліфованіший досвід із власним курсором і магнітними кнопками. Обидва вийшли того самого дня, бо базовий багатосторінковий контент під ними лишився тим самим.
Що саме було зламано зі старим логотипом?
Файл логотипу в шапці мав вбудоване зображення на 242 КБ прямо всередині й завантажував його на кожній сторінці. Його замінили легкими векторними знаками приблизно по 3 КБ кожен, у світлому й темному варіантах.
Що таке Control Center?
Внутрішній дашборд для команди, щоб бачити, як насправді працюють застосунок і його ШІ-асистент — активні користувачі, утримання, засвоєння функцій, здоров'я системи. Він не видимий користувачам застосунку; доступ на основі ролей, і він ніколи не показує вигадані дані на реальному продакшн-екрані без чіткої позначки демо.
Чи вплинув переїзд хостингу на AWS на Supabase або мої дані?
Ні. Supabase ніколи не хостився на попередньому провайдері й лишається точно там, де був, для даних, автентифікації й правил доступу. Переїхали лише сайт, лендинг і Control Center.
Сайт показує реальні скріншоти застосунку чи макети?
Випущені функції показані реальними скріншотами з робочого застосунку. Усе, що ще в дорожній карті, показане як позначена діаграма, ніколи не подане так, ніби вже існує.
Доступність може залежати від встановленої версії застосунку. Статуси підтверджені засновником на момент публікації.



