Vismap
Ссылка из Reels превращается в место на карте и маршрут поездки: iOS-приложение Vismap с серверным воркером
Идеи для поездок приходят из Reels, TikTok и YouTube, а на карту их приходится переносить руками. В Vismap пользователь вставляет ссылку — и место само встаёт на карту с категорией и описанием, а из мест собирается маршрут по дням. Тяжёлую часть делает наш воркер на сервере: пользователь не ждёт, а поломки чинятся без релиза.
Vismap · продукт в работе
Листайте вбок — на полке ещё экраны
- Пара секундвместо ожидания до полутора минут: дальше импорт идёт на сервере
- 0 релизовчтобы починить разбор 2ГИС: правка одной строки в базе
- Без ручного вводаместо встаёт на карту с категорией, описанием и поездкой
- Ссылка из соцсетей
- Подпись с телефона
- Очередь на сервере
- Разбор нейросетью
- Пин на карте
Из мест — маршрут по дням
Результат
Что получил продукт.
Пользователь не ждёт импорт
Ссылка уходит на сервер за пару секунд, и приложение можно закрыть — место всё равно появится на карте.
Поломку чинят без релиза
Когда сломался разбор 2ГИС, хватило правки одной строки в базе: исправление дошло до всех сразу, без проверки в App Store.
Бесплатный лимит считает сервер
Пять бесплатных импортов в месяц учитываются на сервере, а не на телефоне пользователя.
Никакой ручной сортировки
Категорию, описание, склейку дублей и раскладку по поездкам приложение делает само.
- Было
- К отпуску у человека сотни сохранённых постов, скриншоты и списки в картах — и каждое место нужно найти, вбить в карту, разложить по поездкам и связать в маршрут руками. Первые версии приложения разбирали ссылки на телефоне: импорт шёл до полутора минут и пропадал, если свернуть приложение.
- Что сделали
- Сделали iOS-приложение и серверный воркер к нему. Телефон только открывает ссылку и снимает сырые данные: подпись к посту, названия из списка, координаты. Всё остальное делает сервер: расшифровывает видео, находит место, пишет описание, склеивает дубли и раскладывает по поездкам.
- Стало
- Ссылку вставили — и приложение можно закрыть: место всё равно появится на карте. Из мест собирается маршрут по дням, который открывается в Google, Apple или Organic Maps. Без сети приложение тоже работает, а поломку разбора мы чиним без выпуска новой версии.
Как это устроено
Что стоит за каждым результатом.
Разделение работы: iOS-приложение и серверный воркер
Соцсети не блокируют импорт
Серверные адреса соцсети блокируют со второго-третьего запроса, поэтому страницу открывает телефон, а разбирает сервер.
ТелефонВоркер на сервере- Reels, TikTok, YouTubeСнимает подпись к постуРасшифровывает видео, находит места через AI
- Список Google MapsПрокручивает список, собирает названияНаходит каждое место и дописывает описание
- 2ГИС и Яндекс КартыСнимает имя и точные координатыАдрес по координатам, категория, описание
- Обычный сайтТолько отдаёт ссылкуСам читает страницу
Серверный воркер на Node.js с очередью в Supabase
Импорт не заставляет ждать и не требует релизов
Первые версии делали всё на телефоне. Воркер забрал долгую часть и контроль над лимитами.
- Ждать импорт до полутора минут с открытым приложениемПара секунд — и приложение можно закрыть
- Свернули приложение — импорт пропалЗадача в очереди на сервере доживёт до конца
- Лимит бесплатных импортов считал сам телефонЛимит считает сервер: пять импортов в месяц
- Сломался разбор 2ГИС — нужен релиз в App StoreПравка одной строки в базе, у всех сразу
AI-разбор мест, маршрут по дням, офлайн-режим
Пользователь только вставляет ссылку — остальное делает приложение
Место само получает категорию и описание и встаёт в нужную поездку.
- Категория и цвет пинаЕда, кафе, фото-споты, природа — видно с первого взгляда на карту
- Описание от AIЧто это за место и почему его сохранили
- Склейка дублейТри Reels про один ресторан — один пин и три ссылки
- Поездка по странеМесто само попадает в нужную или создаёт новую
- Маршрут по днямС экспортом в Google, Apple или Organic Maps
- ОфлайнПравки копятся без сети и досинхронизируются
Кому подойдёт
Такое же решение пригодится, если вы узнали себя.
Продуктам, которые берут данные из соцсетей
Сервер блокируют, а разбирать ссылки на телефоне долго
Приложениям с тяжёлой обработкой
Нейросеть, расшифровка видео, поиск мест — на сервере, а не на телефоне пользователя
Тем, кто ждёт проверку App Store ради мелкой правки
Правила, которые часто меняются, можно держать на сервере
Сервисам для путешествий и карт
Места, поездки и маршрут по дням в одном приложении
Вопросы
Вопросы по кейсу
Не нашли своего — спросите в Telegram, ответим в течение дня.
Почему не разбирать ссылки целиком на сервере?
Соцсети блокируют серверные адреса со второго-третьего запроса. Поэтому страницу открывает телефон пользователя и снимает с неё только сырые данные, а всю тяжёлую работу делает сервер.
Что будет, если соцсеть или карты изменят страницу?
Правила разбора лежат в базе на сервере. Когда разбор 2ГИС сломался, хватило правки одной строки: исправление дошло до всех пользователей сразу, без новой версии в App Store.
Работает ли приложение без интернета?
Да. Правки без сети копятся на телефоне и досинхронизируются, когда связь появится.
Сделаете приложение с серверной частью для нас?
Да. Напишите в Telegram @v_kuksenko: разберём, что делать на телефоне, а что на сервере, бесплатно.
- Swift и SwiftUI
- MapKit
- Supabase
- Node.js и TypeScript
- Docker
- GitHub Actions
- Gemini
- Google Places API
- Adapty
- Sentry
Обсудим задачу.
Приложению нужна серверная часть? Напишите в Telegram — ответим, как мы это соберём, сколько займёт и во сколько обойдётся.