Проект: Denty — зубной трекер  Публичный пост
17 декабря 2024  2038
ОХУЕННО ⨯3
Denty - зубной трекер
https://denty.app/ru

Расскажите о сути проекта?

Denty - это приложение, в которое можно записывать результаты визитов к стоматологу и при необходимости посмотреть историю - что делали с каждым зубом и когда.

Торжество стиля
Торжество стиля

Обо мне

Как и многие, я люблю трекать всякое и следить за прогрессом. Например, много лет веду учет трат в Coinkeeper, отмечаю мигрени в телеграм-боте (Migrebot), записываю результаты из качалки итп.

По советам мудрых людей все business idea я записываю в блокнот. Это нужно чтобы не забыть их (ВАУ) и чтобы не думать что ты гений, когда одни и те же идеи раз за разом приходят снова и снова.

За несколько лет в заметках накопилось неприличное количество идей разной степени упоротости и появилось желание и время что-то реализовать. Многие идеи планировались в формате приложения поэтому я решил освоить кроссплатформенную разработку на Flutter. 3 месяца, ~30 часов видео курсов, 7 учебных приложений и вот наконец можно попытаться сделать что-то настоящее.

Как появилась идея? Что вдохновило?

В разные периоды я ходил в разные стоматологические клиники (как и все люди?). Когда меняешь клинику, то вся история остается с ней и клиники не делятся этой историей друг с другом.

В какой-то момент я начал делать записи о посещениях. Это были просто короткие заметки типа "02.09.18, 48, заменили пломбу", "12.02.20, сделал чистку" etc. Благодаря им можно было узнать когда я последний раз был у стоматолога и что делал.

Записей становилось больше 🥲, копаться в них становилось труднее и появилась идея - приложение с наглядной схемой зубов в которое можно записывать результаты посещений.

Когда пришла пора выбирать идею для разработки, эта показалась мне интересной: и как первый проект (это же просто заметки) и в плане пользы для людей (про здоровье). Я помечтал о том сколько всяких фич можно реализовать в таком приложении и принялся за дело.

Что вошло в прототип и сколько времени на него было потрачено?

С первого коммита до первого релиза на iOs прошло 7 месяцев, еще через 5 вышла версия для Android. Учитывая что в процессе разработки практически всё было новым для меня, вполне ОК.

Считаю текущую версию MVP - показывать ее все еще стыдно. В ней есть схема расположения зубов с heatmap, возможность вести заметки и экран с настройками.

Какой технологический стек вы использовали? Почему?

Выбрал Flutter просто потому что много слышал о нем. С разного рода библиотеками у него полный порядок - все необходимое имеется. Есть удобные встроенные инструменты (например профилировщик можно открыть в браузере) и очень хорошая поддержка в VSCode (через плагины). Никакие сравнения с ReactNative и KMP не делал.

Под базу взял Firebase - не хотелось писать свой сервер-велосипед, а тут куча всего готового, отличная документация и приемлемые бесплатные лимиты. Возможно еще vendor lock в подарок, но это не важно если никто не юзает твою прилу.

щедрые лимиты, бешеная нагрузка
щедрые лимиты, бешеная нагрузка

Ошибки летят в Sentry - те же плюсы что и у Firebase. Правда они закрыли доступ из РФ и теперь приходится ходить туда через VPN. Поднимать standalone версию сильно не хочется.

Всякие картинки собирал в Figma, задачи вел в YouTrack.

выглядит как работа (((
выглядит как работа (((

С какими трудностями пришлось столкнуться?

  1. я мало что технического знаю про зубы, особенно как правильно переводить термины на другие языки и про системы нумерации. Например я очень не сразу заметил что почти все изображения с нумерацией сделаны для врачей и там обозначения right to left - как будто другой человек сидит напротив, а не как в зеркале. Пришлось прикрутить фишку чтобы отзеркалить карту.

  2. большой объемом разной информации:

  • множество платформенных (iOs, Android) ньюансов: в какие конфиги какие данные положить, как сделать ключи и как подписать приложение, на что ругается система сборки итд
  • множество вопросов при размещении в сторы: какой порядок действий чтобы дойти до релиза, как правильно заполнить опросники, для чего нужны и как будут использованы различные ассеты (тексты, картинки) итд
  1. технические ньюансы в процессе разработки, например:
  • скейлинг карты и всех ее элементов и подписей под разные размеры экранов. Мне повезло встретить в сети статью про то, как чувак делал простенькую игру - он дал совет сразу озаботиться скейлингом, что я и сделал. Спасибо ему.
  • оказывается в Unicode есть стоматологические символы, например уголочки для нотации Палмера. Но в Google fonts я не нашел ни одного моно шрифта в котором они есть. Пришлось их самому рисовать и добавлять в UbuntuMono. Интересный опыт.
  • переводы. Не всегда фраза с английского переводится так как нужно, иногда приходилось поиграть словами. Очень удивило что на Хинди получаются довольно точные переводы. Самый непредсказуемый оказался французский - обратный перевод часто не совпадал с исходной фразой.
  1. отдельно хочу отметить обязательное закрытое тестирование в Google Play Market - по правилам (для физ лиц) вы должны набрать 20 тестировщиков, которые установят ваше приложение и будут его "тестировать" (хотя бы не удалят) в течении 14 дней. Каеф! Мое в итоге продлилось месяц и со второго круга меня допустили до продакшена. Я успел задолбать 50 человек, писал им почти каждый день. И сам задолбался, потому что это тестирование было взаимное и я запускал ~50 чужих приложений разного качества каждый день, я видел такое, что вам, людям, и не снилось.... Есть и крутая сторона тут - очень много разного фидбека от тех кто "тестил".

стата гугла показывает запускали прилу или нет
стата гугла показывает запускали прилу или нет

  1. релиз приложения в сторы отнимает много времени. Сюда входят подготовка картинок и текстов, заполнение опросников, прохождение ревью. Поддержка нескольких локализаций также оказалось очень затратной по времени идеей, я даже в итоге срезал углы и не стал локализовать скрины из приложения.

ассеты в Figma, ___ 5 ARCSEC, Hubble Space Telescope, 2024
ассеты в Figma, ___ 5 ARCSEC, Hubble Space Telescope, 2024

  1. обратил внимание что прилично времени тратится на вещи, которые просто должны быть, но их даже нельзя показать как отдельную фичу. К примеру аутентификация. Но есть плюс - следующие приложения будет делать легче, достаточно выбросить все лишнее из текущего.

Сколько потратили и заработали?

Я не добавил пока никакую монетизацию, но заработал опыт :)
Затраты: $60 художнику, $30 за домен (я удержался и купил его после того как все запилил), $25 Google аккаунт, $99 Apple аккаунт и бесценное время.

Какие планы на будущее?

Есть идеи расширения функционала: сделать вложенные профили в рамках одного аккаунта (например для родителей), еще улучшить как-то визуальное представление (скины для карты, возможность отметить зуб "мертвым", "удаленным"), добавить напоминания что пора на осмотр, возможно раздел под мини-тулы типа таймер чистки, может образовательный контент.

Но конкретно сейчас хочу поиграться с продвижением.

Нужны ли какие-то советы или помощь Клуба?

Приму в дар критику/советы/референсы по UI/UX - сейчас по приложению видно что писал бекендер 😅
Если идеи как лучше передать смысл, то поделитесь - некоторые пользователи подумали что приложение для записи к врачам или для врачей. Возможно назвать приложение "трекер" было неудачной идеей и "дневник" лучше.
Выслушаю мысли о том где и как можно продвигаться - сам планирую добавиться в агрегаторы типа ProductHunt, а после нового года потестить рекламу (заценить насколько дорогие пользователи).

Какой совет вы бы сами могли дать идущим по вашим стопам?

Если хотите довести дело до конца, то нужно постоянно что-то делать в выбранном направлении, даже если зашли в тупик и/или угасла мотивация. Мне помогла книжка Максима Дорофеева "Джедайские техники" - я не помню из нее почти ничего кроме картинок и концовки, где он рассказал как писал книгу - когда не было конкретной задачи, то ставилась задача "потратить на дело N минут". Это помогло мне в трудные моменты.

50 комментариев 👇
Artem Gazarov Основатель, лидер, инноватор и управленец в медицине. Моя цель перевернуть рынок лечения болезней на поддержание здоровья. 27 декабря 2024

Всем привет.
Очень удобная история.

Мы более 5 лет назад выпустили приложение для пациентов, в котором можно следить за своим здоровьем, просматривать прошлые приемы, контролировать процесс лечения и не пропустить будущие приемы.

Приложением пользуется более 10 тыс пациентов. Постоянно развиваем функционал.

@gazarov, привет! Очень круто что делаете историю доступной для пациента!

P.S. QR сломался, можно починить его или приложить прямые ссылки на приложения

  Развернуть 1 комментарий

@robot_den, В сторах по имени Белая радуга есть

  Развернуть 1 комментарий

@gazarov, у вас в приложении проблемы с UI/UX кстати. Вам бы UX-ера взять и покастдевить на реальных людях, которые впервые приложение открывают.

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...

Классная вещь! От себя добавлю хотелку - было бы удобно добавлять пометки о том, что нужно сделать (то есть не что по факту, а что запланировано). Например, у меня сейчас есть два зуба, на которые требуются коронки, но я ещё не знаю когда их буду ставить. Было бы здорово если можно было отметить это и вести учет того, как много у тебя проблем с зубами решено и сколько ещё осталось :)

  Развернуть 1 комментарий

@grargas, Спасибо! Твоя идея реально классная - я аж по комнате заходил немножко 😆, не думал про такое!

Например такие записи можно подсвечивать/выделять и держать всегда в топе. У меня тоже есть что нужно сделать, но добавлять это в приложение я не догадался. Круто!

  Развернуть 1 комментарий

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

  Развернуть 1 комментарий

@spaceinvaderz, спасибо, звучит как хорошая идея в раздел tools

  Развернуть 1 комментарий

@robot_den, fyi как лечащийся элайнерами не от инвизалайн пользуюсь бесплатным приложением Trayminder по рекомендации ортодонта. можно посмотреть как референс.
Не знаю насколько нужно все смешивать в одном приложении. Мне бы лишние клики для трека прогресса были не оч приятными.

  Развернуть 1 комментарий

@NikitaTorkhov, спасибо, посмотрю 👀

  Развернуть 1 комментарий

Было бы круто всё тело так трекать, синхронизируя с, например, емиасом и подгружая анализы разных видов просто занося их llm-кой, объединяя все источники данных по здоровью и визитам к врачам

  Развернуть 1 комментарий

@korobkov, да, но мне кажется ньюансов настолько много что это под силу только большому сообществу или крупной корпорации

  Развернуть 1 комментарий

@korobkov, отдельно про анализы есть отличное приложение Орнамент. туда можно выгружать пдфки, и они в бесплатной версии обрабатываются ллмкой, а в платной -- ещё модератором поверх. анализы разбиваются на категории по соответствующим органам, и для каждого показателя можно смотреть динамику изменений. я туда выгрузила все, что нашла, и теперь любуюсь графиками (как выправляется, а потом падает мой витамин д, например))

  Развернуть 1 комментарий
Польшаков Дмитрий Разработчик встраиваемых систем 21 декабря 2024

Задумка очень классная!

Согласен с советами выше, не хватает всяких мелочей типа чисток и планов на будущее. На всякий случай хочу подсветить, что иногда хочется сделать заметку не привязанную к конкретному зубу, а скорее ко всей полости рта. Та же чистка, коррекция брекетов, пластика уздечек и слизистых тяжей.

Хотелось бы еще функцию экспорта в каком-нибудь формате типа JSON.

И жду постов с обновлениями :)

  Развернуть 1 комментарий

@Diadlo, спасибо! Общую заметку можно добавить если открыть форму добавления с главной страницы - там в карусели есть пункт «все» 🙌

Про экспорт тоже думал - это отличный реверанс тем кто любит держать свои данные под контролем)

  Развернуть 1 комментарий

@robot_den, Нашел пункт "все". Оказалось он открывается по дефолту при клике на "+" при просмотре всей карты. Может это я тупил, но было как-то не очевидно. Может в меню "новая запись" пункт "все" внести из карусели отдельно? Ну, это так, в порядке генерации идей, я не дизайнер)

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...

А я для этого использую obsidian + dataview и гугл драйв со сканами. Бесплатно, все данные у меня + бэкап и аналитика по желанию

  Развернуть 1 комментарий

@7nolikov, а можешь рассказать подробнее про этот сетап? Ты его используешь только для Зубов, или и для других медицинских документов?

  Развернуть 1 комментарий

@stek29, Грубо говоря у меня темплейт с чекбоксами. По нему создается заметку на день при открытии обсидиана. Датавью плагин собирает инфу по всем дням и рисует heatmap на год по наличию чекбокса или квадратик с интенсивностью цветом в зависимости от цифры. Можно и качалку трекать и количество закрытых pomodoro. Я всякое разное трекаю, что в голову придет. Система может не идеальная, но я один раз включил два года назад - работает, есть не просит

  Развернуть 1 комментарий

отписал в статье но напишу и тут - делайте ASO, заполняйте все 39 локалей(желательно с учетом cross-locales), заполняйте максимум символов, не надо только бренд в имя. Добавь запрос оценки после создания одной или нескольких записей в журнале. Как вариант развития приложения - добавь туда трекер чистки зубов, чтобы приложение стало более частым в использовании.

  Развернуть 1 комментарий

Привет, я стоматолог, нужно будет помощь стучись в телеграм )

  Развернуть 1 комментарий

@1anceot, привет! Спасибо ❤️

  Развернуть 1 комментарий
Никита Балуюсь с Питоном 20 декабря 2024

Офигенно! Это приложение, да 20 бы лет назад 😄

  Развернуть 1 комментарий
Igor Pankin /exc/ PM и консультант по общим вопросам в fintech B2B 20 декабря 2024

Класс, спасибо за аппку и визуализацию!
тоже делаю отметки в workflowy простым списком с номерами зубов)

Вопрос -- почему картинка с видом "от врача", как выбрали такой вариант и не запрашивали ли опций отражения? Ведь если самому себе отмечать, то чуть интуитивно понятнее был бы вид как будто из своих же глаз (тогда язык сверху, нёбо снизу), ну или вид через зеркало (тогда с отражением).

  Развернуть 1 комментарий

@vespex, рад что пригодилось! По умолчанию вид как будто стоишь перед зеркалом, а вид "от врача" это то что я встречал в сети и что было вначале.
Был фидбек что люди просто не понимали где какие зубы, поэтому я добавил на схему язык/нёбо и подписал стороны. Перевернуть верх и низ еще никто не просил 😄
Зеркалирование можно отключить, но мне кажется это только врачу будет привычнее)

  Развернуть 1 комментарий

Привет, спасибо за приложение, поставил, потихоньку заполняю.

Мне кажется было бы прикольно иметь возможность добавлять несколько "челюстей" в один аккаунт, чтобы трекать зубы, например, ребенка

  Развернуть 1 комментарий

@Olenius, привет! Спасибо что упомянул - про вложенные профили очень часто говорят и у самого записано что можно это прикрутить)

Это еще крутая фишка может быть потому что позволяет в какую-то ЦА более конкретную прицелиться (родители) 👨‍👩‍👦

  Развернуть 1 комментарий

Идея — отличная! Надо будет перенести свои заметки из Excel.

  Развернуть 1 комментарий

Прикольно, Flutter - отлично! Про продвижение - посмотри что такое ASO, заполни cross-locales https://aso.dev/ru/aso/cross-localization/ . У тебя в имени приложения только бренд - не надо так, у тебя там должны быть самые жирные ключевые слова.
У нас в aso.dev есть переводы - и меты и контента приложения через разные провайдеры данных.

  Развернуть 1 комментарий

@Gorniv, спасибо, посмотрю! Задача про ASO в трекере появилась когда я встретился с вашим проектом)

Про имя - на старте страшновато нарушить какие-нибудь гайды стора 😅

P.S. без VPN ссылка не открылась, возможно CloudFlare используется

  Развернуть 1 комментарий

@robot_den, да Cloudflare, но мы ориентируемся на международный рынок, все сервера зарубежные, мы в Сербии, компания в Англии…

  Развернуть 1 комментарий

Успехов в разработке! Сам, давненько уже, хочу сделать подобное приложение прям для всего тела.

  Развернуть 1 комментарий

@thebandik, спасибо)

  Развернуть 1 комментарий

Спасибо за крутой пост! Локализацию можно закраудсорсить с помощью Crowdin или Weblate в будущем для глобал релиза.

  Развернуть 1 комментарий

@sinnie, спасибо, присмотрюсь к Crowdin - вижу там бесплатный план 🤩

  Развернуть 1 комментарий
Александр Шевцов Комьюнити менеджер в нише эзотерики 25 декабря 2024

Класс, по моему с таким проектом можно смело размещаться на https://productradar.ru/

  Развернуть 1 комментарий

@Alexweber, спасибо, нужно к этому подготовиться)

  Развернуть 1 комментарий

Классный пост и приложуха! В клубе есть основатель сети стоматологических клиник @gazarov

Думаю можно попробовать с ним связаться и расспросить про юзкейсы, в которых твое приложение может быть полезно клиникам, чтобы прикинуть возможные вектора монетизации через b2b

  Развернуть 1 комментарий

@AleksZakharov, спасибо! Я думаю нужно пока поднабрать пользовательскую базу чтобы стать интересным клиникам. А вообще полный пивот в b2b это запасная идея для подобного приложения :)

  Развернуть 1 комментарий

Привет! Скачал приложение , ТК сейчас лечу зубы и хочу где-то вести учёт.

У меня такие сценарии

  1. Напоминать стоматологу где уже поставили лекарство и когда его менять. Текущий стоматолог использует 2 этапа лекарств и называет мне их. И они вступают в реакцию, так что необходимо обильно промывать каналы.
  2. Трекать где в корнях воспаление чтобы когда через 6/12 мес буду делать КТ, знать где что было. Диск у меня остаётся, но хочется комменты тоже записать.
  3. Сейчас план лечения на бумаге, а хотелось бы составит и финансовый план с датами чтобы лучше прогнозировать расходы.
  4. Трекать что было сделано по внчс, осанке и другим связанным активностям.
  5. Треккер гигиены! Сова дуолинго по уходу ирригатором, ачивки и напоминалки)

Буду рад пообщаться и пофидбечить еще! Готов купить приложение/задонатить чтобы автор подольше сохранял мотивацию!

  Развернуть 1 комментарий

@iskameri, привет! Спасибо большое за кейсы, дополнил свой список потенциальных фичей! Скорее всего в следующем релизе будут заметки на будущее, закроется второй кейс - для меня он тоже актуален 🥲
После этого переключусь на возможность создавать напоминания/уведомления.

Над подпиской тоже работаю, но планирую дать полный функционал тем кто уже поставил приложение :)

  Развернуть 1 комментарий

@robot_den, я сходил с утра на прием и собрал ещё один юзкейс))

Хранить длину каналов. Их количество у разных людей варьируется для одних и тех же зубов. Не знаю зачем, но сфоткал стикер на котором сегодня записали длину каналов)

  Развернуть 1 комментарий

@iskameri, спасибо, есть в планах сделать для зуба страницу «настроек» может туда прикручу возможность добавить general заметку 🙂

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...

😎

Автор поста открыл его для большого интернета, но комментирование и движухи доступны только участникам Клуба

Что вообще здесь происходит?


Войти  или  Вступить в Клуб