Пилю приложение для знакомств у кого есть питомцы
Вот прошло уже 11 месяцев с тех пор, как я запустил первую beta-версию приложения. На данный момент она успешно опубликована в App Store и Google Play Market. По сути это всё ещё бета, и в этом посте я буду делиться разработкой следующих версий, что, по моему мнению, намного интереснее, так как продукт уже готов и находится в продакшене.


Страница zoomies в App Store / Google Play
Надеюсь, такой формат поста зайдёт пикабушникам.
Какие цели я преследую и почему решил написать это приложение. Я давно и много раз начинал side-проекты, но ни один из них не доводил до конца и, честно признаться, большинство из них были банальными - доска объявлений, to do list. Я даже начинал писать книгу (обожаю фантастику и писал про космос) 😉 Но в этот раз я твёрдо решил довести дело хотя бы до MVP, а в итоге дошёл до релиза.
Я не рассчитываю на большую аудиторию или популярность, мне скорее хочется проверить себя.
Доведу ли я дело до концаЗарелизю лиСправлюсь ли с разработкой и CI/CD гитом и прочееСмогу ли я продержаться хотя бы год в магазинах, набрав хотя бы 100 пользователей?
Основная цель данного приложения - найти друга или партнёра не только для себя, но и для своего питомца. Питомец может быть любым - домашним или даже экзотическим животным, а алгоритмы поиска подберут подходящий вариант.
Но знакомство питомцев не является самоцелью, и пользователю не обязательно иметь питомца - он может просто зарегистрироваться и не добавлять никаких животных. По сути, это дополнительная функция.
Также есть профи-аккаунт, когда пользователь может указать, что он профессионал в той или иной области, например:
Таким образом, это не просто очередное приложение для знакомств, но и удобная площадка для поиска местного грумера / ветеринара / кинолога или человека, который присмотрит за вашим питомцем, пока вы в отпуске.
Скриншоты интерфейса:







Итак, теперь к самой интересной части - у меня вообще нет собственного backend, только cloud-решения: Vercel + Supabase + GitHub + GitHub Actions для автоматического деплоя в Play Market и App Store по тегам.
На данный момент первая версия в сторах соответствует 37 версии по тегам. Всё, что ниже, — это попытки собрать и довести до ума первый релиз.
Весь алгоритм поиска построен на фильтрах и совпадениях. За это отвечают Database Functions и функция find_users_v_17 — версия 17 как раз последняя, которая возвращает список пользователей, подходящих под заданные критерии.
Конечно, я пытался внедрить векторную БД, но для MVP это оказалось слишком сложно и ресурсоёмко. Планирую попробовать добавить AI в будущих версиях.





Фронтенд построен на Capacitor 7, что позволило мне иметь одну code base для всех платформ - iOS и Android. Я очень хотел публиковаться везде, но пилить одну версию на Swift, а другую на React Native в одиночку показалось мне путём в никуда.
Конечно, из-за этого пришлось отказаться от классических свайпов, как в условном Tinder, и выбрать формат ленты, как на Пикабу 🙂 Из-за проблем с производительностью Capacitor не позволяет сделать такие красивые и эффектные свайпы без тормозов и лагов.
Из других полезных вещей, которые я использую бесплатно: встроенная аутентификация по OTP-кодам от Supabase и сервис Resend - 3000 писем в месяц бесплатно. Был прикручен Twilio для авторизации по СМС, но он оказался слишком дорогим - около 0.20 доллара за сообщение, поэтому я его убрал.
Самые большие сложности были с нативной авторизацией через Apple и Google, так как раньше я с этим не сталкивался. Конкретно с этими типами входа я провозился около двух месяцев.
Публикация. Google требует сначала запустить приложение в Closed Testing - только для тебя и друзей по приглашению, затем пройти Internal-тестирование, и только после этого можно податься на публикацию. При этом приложение обязано соответствовать всем требованиям: иметь Policy, Terms of Conditions, не нарушать Google Guidelines и находиться в режиме тестирования минимум 14 дней с как минимум 20 живыми активными пользователями. Задача казалась почти невыполнимой - где сейчас взять 20 друзей? Да ещё чтобы они хотя бы раз в день открывали приложение.
С Apple оказалось проще. Нужно также соответствовать всем требованиям и возрастным ограничениям, но дополнительно, из-за специфики приложения, я был обязан внедрить чёрный список и бан пользователей, игнор в личных сообщениях и формы жалобы на неприемлемый контент и поведение. Примеры - на скриншотах ниже.


Мой первый отказ в публикации был из-за этого.
Всего Apple отказала один раз, а Google - пять раз. Причина отказа у Google каждый раз была одна и та же.


Не прошло и двух месяцев.
Хочу добавить, что Apple просит AUD 199 в год за аккаунт разработчика — без него опубликовать приложение невозможно. У Google, кажется, около AUD 20, но платёж единоразовый.
Общие расходы (AUD):
Apple — 199 в год
Google — 20 (единоразово)
Supabase — 50 в месяц (пока на подписке, не знаю, насколько меня хватит, чтобы не вернуться на бесплатный тариф)
Домен — 12 в год
Google testing — 100
Аренда Cloud Mac — 35 в неделю (арендовал одну неделю для тестов)
Twilio — 15 разово на тестовые СМС
В заключение: практически каждый вечер с 6 до 23 я в одиночку работал над приложением. Но благодаря тому, что изначально выбрал правильный стек, ни разу не пришлось всё переделывать с нуля или кардинально что-то переписывать. Также хочу отметить что приложение бесплатное, и таковым останется навсегда и никакой рекламы вообще ни в каком виде я не терплю.
Я рад любой критике, отзывам, оценкам и советам. Это моё первое приложение, и я безумно рад представить его пикабушникам и вообще всему миру. Даже как-то волнительно, уф 🙂
На этом, пожалуй, закончим первую часть. А во второй предлагаю выбрать, что вам интереснее разобрать подробнее.





