Розробка2 хв читання

Кабінет, який почався з одного HTML-файла

Коротко

Medsense почався з прототипу на 21 розділ в одному HTML-файлі. Першим у код поїхали не екрани, а межі доступу: 16 таблиць із правилом «людина бачить лише свої рядки» на рівні бази. Того ж дня запрацювали вхід, завантаження бланка, розпізнавання показників і медична картка.

Medsense почався не з коду, а з питання: що людина робить із бланком аналізів після того, як забрала його з лабораторії. Найчастіше нічого. Фотографує, кладе в галерею й забуває до наступного разу, коли треба буде згадати, скільки був гемоглобін торік.

Першою версією був один файл HTML: 21 розділ кабінету, намальовані від руки цифри, жодної бази. Він нічого не вмів зберігати, зате відповідав на головне питання про продукт: як людина ходить по цих розділах і в якому порядку їй потрібні речі. Дешевше помилитись у макеті, ніж у застосунку.

Порядок робіт узяли нудний

Перше, що поїхало в код, - не гарні екрани, а межі доступу. База отримала правило «людина бачить лише свої рядки» на рівні самої бази, а не застосунку.

Так зазвичай

Перевірка «чи твоє це» написана в коді застосунку. Помилка в одному запиті - і чужа медична картка відкривається без жодного попередження.

Так працює

Правило стоїть у базі. Навіть неправильно написаний запит повертає нуль рядків, бо база сама не віддає чуже.

Різниця стає видною тоді, коли в базі вже лежать живі люди. Переробляти цей шар пізніше означало б переписати весь застосунок навколо нього.

16
таблиць із правилом доступу «лише своє»
схема бази, 18.08.2026
21
розділ кабінету перенесено з прототипу
прототип kabinet.html
Франкфурт
де стоїть база: медичні дані не виїжджають за межі ЄС
Supabase, регіон eu-central

Що вже працювало того ж дня

  • вхід і реєстрація, профіль на справжніх даних;
  • завантаження бланка в приватне сховище й розпізнавання показників;
  • медична картка: діагнози, препарати, щеплення, нагадування;
  • журнал змін, який не можна відредагувати заднім числом.

Розпізнавання одразу зробили з подвійною перевіркою: модель читає бланк двічі, і числа з двох проходів звіряються між собою. Якщо вони не збіглись, показник позначається як сумнівний, а не мовчки записується в картку.

Прототип нікуди не зник: він лежить у репозиторії й досі лишається еталоном щодо дизайну. Коли сперечаємось, як має виглядати розділ, дивимось туди.

Хочете спробувати те, про що читаєте?

Завантажте бланк аналізів: Medsense пояснить кожен показник простими словами й збере виписку для лікаря.

Створити картку