Расскажите о себе и сути проекта?
Обожаю всякие образовательные штуки! В 1997 году (ещё в школе) выпустил свои первые программы по обучению русскому языку и заработал целых 50 000 рублей! По совету дедушки купил на них доллары, которые годом позже были экспроприированны родителями. После этого я понял, что мир не так прост...
Программированием болею уже давно, успел пописать на Delphi, C, PHP, Python, JS, Perl, PL/SQL и т.п. Сейчас остановился на стеке Python/Postgres/React, но интересен Rust, Elixir (да и много чего ещё). Стараюсь участвовать в социально значимых проектах в сфере образования и медицины. Пару лет руководил бэкендом в 3D4Medical.
Как появилась идея? Что вдохновило?
Году в 2009 на Хабре увидел статью про Mercator Puzzle, и мне очень понравилась идея. Это же круто изучать географию интерактивно! Спустя несколько лет, я налабал прототип на Erlang, Ruby, JS, PostGIS просто для фана. Там уже были загружены полигоны стран и регионы США и России. Расписал у себя в блоге, выложил на GitHub и успокоился. Но годы спустя мне захотелось добавить инфобокс, чтобы знать что это за страна или регион...
Что вошло в прототип и сколько времени на него было потрачено?
Предыдущее решение было сделано лишь чтобы поиграться, а для нормального проекта я взял кое-что знакомое. Так что спустя пару недель бессонных ночей у меня был готов прототип на Django, PostGIS, React и ~50 000 полигонов, которые я в автоматическом режиме проимпортил с OSM. Информацию о них я взял с wikidata.org, для этого пришлось вникнуть в язык запросов SPARQL (вот где мне пригодились знания Prolog!).
Как вы запускались и искали первых пользователей?
Всё по друзьям да по знакомым. Рекламы специально не покупал, чтобы не отдать последний Бентли Гуглу за показы карт. В ноябре 2018 написал статью на Хабр ради рекламы и проверки хабраэффекта. Переоценил - одновременно было 100 пользователей на сайте, а нагрузка 25% (2 самых дешёвых инстанса по $5). Новых патронов - 0.
Сейчас в месяц у меня 5k-6k из США, России, Великобритании, Индии, Германии... Средняя длительность сеанса 6-7 минут. Радует, что люди переходят на сайт и из всяких LMS (специальные системы для школ) :)
Однажды ко мне постучалась какая-то датская школа с предложением дать $100, если я открою исходники. Я не смог устоять, так что вот реп. Эту версию я поддерживаю больше для резюме - туда подключены всякие интеграции, тесты и вообще best practice. На сайте же выложена версия из приватного репа, который базируется на публичном, но дополнен всякими штуками типа создания своих карт, мультиплеера, парой типов игр и пр.
С какими самыми неожиданными трудностями пришлось столкнуться?
Полигоны, сука, большие :) Какая-нибудь Чили или Норвегия весит в PostGIS 100Mb. А их ещё надо на фронте показать... Так что все они у меня оптимизированы и закешированы в Redis, чтобы страничка не падала по памяти.
Буду неимоверно благодарен и доделаю наконец мультиплеер для паззлов, если кто поможет убедить Google что https://issuetracker.google.com/issues/117311850 - действительно баг.
Сколько потратили и заработали? Есть идеи как это можно монетизировать? Какие планы на будущее?
Планов громадьё, но пока не ясно кому это нужно: сделать мобильную версию, подключить LMS, написать VK mini app, продвигать кампанию на Patreon. И пора бы уже монетизировать.
Когда это был pet-project, расходы составляли ~$20, сейчас они возросли. Да один только CDN $5/mo съедает. А в какой-то месяц я забыл отключить платные показы карт и встрял Гуглу на $70 - обидно!
Нужны ли какие-то советы или помощь Клуба?
Я призываю @APilosian обсудить варианты сотрудничества :) У него был похожий проект.
Ну и конечно же по багам и предложениям можете писать в личку (@TyVik в tg), в VK (https://vk.com/tyvik) или на GitHub.
Жукто интерестная штука, открыл потыкать и залип на час :)
Успехов тебе!
Залип на полчаса, круто! Зафейлил игру, где надо было найти уезды родной Эстонии по их гербам. Такого в моё время в школе не изучали, я даже не видел никогда большей части этих гербов. Не знаю каково практическое применение, но было жутко интересно, спасибо!
Я бы поглядел, а есть ли маркетплейсы у LMS? Если есть, то может быть можно там разместить платные интеграции и продавать подписки?
Мультиплеер для пазлов можно сделать пошаговым, по типу шахмат: каждому игроку даётся баланс времени (выюираешь: блиц за 1 минуту, или игра подольше на 5 минут каждому), дальше ходят по очереди, во время хода съедается время ходящего игрока. Другой игрок ходить не может всё равно из-за бага у Гугла. Ну и кто больше кусочков собрал за своё время - тот и победил. Как-то так.
А почему полигоны такие большие? Натравить на них Дугласа-Пекера и вперёд..
Офигенный проект, когда мы делали наши квизы, что-то подобное сидело в голове, но усидчивости и упорства не хватило, чтобы разбираться со всеми апи и как их воткнуть во флаттер, потому забили и просто руками отрисовали карты кек.
Насчет сотрудничества — мне честно говоря сложно что-то предложить, т.к. во-первых, наши проекты по-сути конкуренты, как бы смешно это не звучало, и интегрировать один в другой вероятно странно будет. Во-вторых, что самое главное, я уже полтора года не могу себя заставить там баги пофиксить, не говоря уже о выпуске всех фич, что есть в бэклоге, потому я так себе партнер, ю ноу :(
Однако, если есть какие-то вопросы/идеи — с удовольствием бы поболтал.
Витя крутой! И проект крутой :)