Расскажите о сути проекта?
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.
С какими трудностями пришлось столкнуться?
я мало что технического знаю про зубы, особенно как правильно переводить термины на другие языки и про системы нумерации. Например я очень не сразу заметил что почти все изображения с нумерацией сделаны для врачей и там обозначения right to left - как будто другой человек сидит напротив, а не как в зеркале. Пришлось прикрутить фишку чтобы отзеркалить карту.
большой объемом разной информации:
- множество платформенных (iOs, Android) ньюансов: в какие конфиги какие данные положить, как сделать ключи и как подписать приложение, на что ругается система сборки итд
- множество вопросов при размещении в сторы: какой порядок действий чтобы дойти до релиза, как правильно заполнить опросники, для чего нужны и как будут использованы различные ассеты (тексты, картинки) итд
- технические ньюансы в процессе разработки, например:
- скейлинг карты и всех ее элементов и подписей под разные размеры экранов. Мне повезло встретить в сети статью про то, как чувак делал простенькую игру - он дал совет сразу озаботиться скейлингом, что я и сделал. Спасибо ему.
- оказывается в Unicode есть стоматологические символы, например уголочки для нотации Палмера. Но в Google fonts я не нашел ни одного моно шрифта в котором они есть. Пришлось их самому рисовать и добавлять в UbuntuMono. Интересный опыт.
- переводы. Не всегда фраза с английского переводится так как нужно, иногда приходилось поиграть словами. Очень удивило что на Хинди получаются довольно точные переводы. Самый непредсказуемый оказался французский - обратный перевод часто не совпадал с исходной фразой.
- отдельно хочу отметить обязательное закрытое тестирование в Google Play Market - по правилам (для физ лиц) вы должны набрать 20 тестировщиков, которые установят ваше приложение и будут его "тестировать" (хотя бы не удалят) в течении 14 дней. Каеф! Мое в итоге продлилось месяц и со второго круга меня допустили до продакшена. Я успел задолбать 50 человек, писал им почти каждый день. И сам задолбался, потому что это тестирование было взаимное и я запускал ~50 чужих приложений разного качества каждый день,
я видел такое, что вам, людям, и не снилось.... Есть и крутая сторона тут - очень много разного фидбека от тех кто "тестил".
- релиз приложения в сторы отнимает много времени. Сюда входят подготовка картинок и текстов, заполнение опросников, прохождение ревью. Поддержка нескольких локализаций также оказалось очень затратной по времени идеей, я даже в итоге срезал углы и не стал локализовать скрины из приложения.
- обратил внимание что прилично времени тратится на вещи, которые просто должны быть, но их даже нельзя показать как отдельную фичу. К примеру аутентификация. Но есть плюс - следующие приложения будет делать легче, достаточно выбросить все лишнее из текущего.
Сколько потратили и заработали?
Я не добавил пока никакую монетизацию, но заработал опыт :)
Затраты: $60 художнику, $30 за домен (я удержался и купил его после того как все запилил), $25 Google аккаунт, $99 Apple аккаунт и бесценное время.
Какие планы на будущее?
Есть идеи расширения функционала: сделать вложенные профили в рамках одного аккаунта (например для родителей), еще улучшить как-то визуальное представление (скины для карты, возможность отметить зуб "мертвым", "удаленным"), добавить напоминания что пора на осмотр, возможно раздел под мини-тулы типа таймер чистки, может образовательный контент.
Но конкретно сейчас хочу поиграться с продвижением.
Нужны ли какие-то советы или помощь Клуба?
Приму в дар критику/советы/референсы по UI/UX - сейчас по приложению видно что писал бекендер 😅
Если идеи как лучше передать смысл, то поделитесь - некоторые пользователи подумали что приложение для записи к врачам или для врачей. Возможно назвать приложение "трекер" было неудачной идеей и "дневник" лучше.
Выслушаю мысли о том где и как можно продвигаться - сам планирую добавиться в агрегаторы типа ProductHunt, а после нового года потестить рекламу (заценить насколько дорогие пользователи).
Какой совет вы бы сами могли дать идущим по вашим стопам?
Если хотите довести дело до конца, то нужно постоянно что-то делать в выбранном направлении, даже если зашли в тупик и/или угасла мотивация. Мне помогла книжка Максима Дорофеева "Джедайские техники" - я не помню из нее почти ничего кроме картинок и концовки, где он рассказал как писал книгу - когда не было конкретной задачи, то ставилась задача "потратить на дело N минут". Это помогло мне в трудные моменты.
Всем привет.
Очень удобная история.
Мы более 5 лет назад выпустили приложение для пациентов, в котором можно следить за своим здоровьем, просматривать прошлые приемы, контролировать процесс лечения и не пропустить будущие приемы.
Приложением пользуется более 10 тыс пациентов. Постоянно развиваем функционал.
Классная вещь! От себя добавлю хотелку - было бы удобно добавлять пометки о том, что нужно сделать (то есть не что по факту, а что запланировано). Например, у меня сейчас есть два зуба, на которые требуются коронки, но я ещё не знаю когда их буду ставить. Было бы здорово если можно было отметить это и вести учет того, как много у тебя проблем с зубами решено и сколько ещё осталось :)
еще идея: простейший треккер для алайнеров, чтобы не забывать надевать, менять на следующий комплект и т.д. у Invisalign есть свое приложение, но я не знаю, как там у других производителей алайнеров, да и прикольно иметь все, касающееся ухода за зубами, в одном приложении
Было бы круто всё тело так трекать, синхронизируя с, например, емиасом и подгружая анализы разных видов просто занося их llm-кой, объединяя все источники данных по здоровью и визитам к врачам
Задумка очень классная!
Согласен с советами выше, не хватает всяких мелочей типа чисток и планов на будущее. На всякий случай хочу подсветить, что иногда хочется сделать заметку не привязанную к конкретному зубу, а скорее ко всей полости рта. Та же чистка, коррекция брекетов, пластика уздечек и слизистых тяжей.
Хотелось бы еще функцию экспорта в каком-нибудь формате типа JSON.
И жду постов с обновлениями :)
А я для этого использую obsidian + dataview и гугл драйв со сканами. Бесплатно, все данные у меня + бэкап и аналитика по желанию
отписал в статье но напишу и тут - делайте ASO, заполняйте все 39 локалей(желательно с учетом cross-locales), заполняйте максимум символов, не надо только бренд в имя. Добавь запрос оценки после создания одной или нескольких записей в журнале. Как вариант развития приложения - добавь туда трекер чистки зубов, чтобы приложение стало более частым в использовании.
Привет, я стоматолог, нужно будет помощь стучись в телеграм )
Офигенно! Это приложение, да 20 бы лет назад 😄
Класс, спасибо за аппку и визуализацию!
тоже делаю отметки в workflowy простым списком с номерами зубов)
Вопрос -- почему картинка с видом "от врача", как выбрали такой вариант и не запрашивали ли опций отражения? Ведь если самому себе отмечать, то чуть интуитивно понятнее был бы вид как будто из своих же глаз (тогда язык сверху, нёбо снизу), ну или вид через зеркало (тогда с отражением).
Привет, спасибо за приложение, поставил, потихоньку заполняю.
Мне кажется было бы прикольно иметь возможность добавлять несколько "челюстей" в один аккаунт, чтобы трекать зубы, например, ребенка
Идея — отличная! Надо будет перенести свои заметки из Excel.
Прикольно, Flutter - отлично! Про продвижение - посмотри что такое ASO, заполни cross-locales https://aso.dev/ru/aso/cross-localization/ . У тебя в имени приложения только бренд - не надо так, у тебя там должны быть самые жирные ключевые слова.
У нас в aso.dev есть переводы - и меты и контента приложения через разные провайдеры данных.
Успехов в разработке! Сам, давненько уже, хочу сделать подобное приложение прям для всего тела.
Спасибо за крутой пост! Локализацию можно закраудсорсить с помощью Crowdin или Weblate в будущем для глобал релиза.
Класс, по моему с таким проектом можно смело размещаться на https://productradar.ru/
Классный пост и приложуха! В клубе есть основатель сети стоматологических клиник @gazarov
Думаю можно попробовать с ним связаться и расспросить про юзкейсы, в которых твое приложение может быть полезно клиникам, чтобы прикинуть возможные вектора монетизации через b2b
Привет! Скачал приложение , ТК сейчас лечу зубы и хочу где-то вести учёт.
У меня такие сценарии
Буду рад пообщаться и пофидбечить еще! Готов купить приложение/задонатить чтобы автор подольше сохранял мотивацию!