Как я перестал терять карты Magic: приложение Eldwyn
Есть особый сорт стыда, знакомый, кажется, только людям, которые собирают Magic. Стоишь у магазинной витрины, видишь карту, думаешь «о, полезная штука, надо брать» — и где-то на краю сознания скребётся мысль: а у меня её точно нет? И ты не помнишь. Не потому что склероз, а потому что твоя коллекция — это не коллекция, а археологический раскоп. Обувная коробка, три биндера, разобранный когда-то на запчасти коммандерский дек, пакетик с последнего драфта, который ты так и не рассортировал, и ещё одна коробка, про которую ты вообще забыл.
Четвёртый Arcane Signet я покупал, по-моему, раза три. Не подряд, конечно. Просто каждый раз был уверен, что предыдущие куда-то делись, а они не делись — они лежали в деке, который я полгода не трогал.
Как я до этого докатился
Сначала я, как приличный человек, завёл табличку. Google Sheets, колонки: название, сет, количество, фойл или нет, состояние, сколько отдал. Табличка прожила недели три. Проблема даже не в идее, а в том, что вносить карты руками начинаешь ненавидеть ровно с той секунды, как начал. У тебя на руках стопка из двухсот карт после вскрытия дисплея, и ты понимаешь, что каждую надо найти в выпадающем списке, не перепутать сет (а у иных карт этих сетов пятнадцать), проставить цену. К пятидесятой ты уже врёшь сам себе, что «потом внесу», и это «потом» не наступает никогда.
Пробовал я и готовые приложения. Их полно, некоторые вполне достойные. Но меня хватало ненадолго — то подписка, которая внезапно перекрывает половину функций, то интерфейс, спроектированный будто назло, то в базе нет нужного мне промо-принта. А ещё я разработчик, и это, в общем, диагноз. В какой-то момент я поймал себя на мысли «да я быстрее сам напишу» — классическая ловушка, в которую попадался каждый программист и почти всегда зря.
В этот раз, кажется, не зря. Так появился Eldwyn — приложение под iOS, которое я написал в первую очередь для себя. Не потому что миру был нужен ещё один трекер коллекций (не был), а потому что я устал терять собственные карты в собственных коробках.
Что делает Eldwyn
Главное, ради чего всё затевалось, — сканирование камерой. Наводишь телефон на карту, и приложение её узнаёт. Внутри это работает не так, как можно подумать: не распознавание текста, а сравнение отпечатка самой картинки, по артворку. Это быстрее и, что важнее, надёжнее с картами на других языках или в старой рамке, где текст читается тяжело. А для случаев, когда по артворку никак — базовые земли, токены, скверный свет, — уже подключается распознавание текста через Vision.

Дальше карта попадает в коллекцию, и вот тут начинается то, ради чего я, собственно, всё это писал. Карты раскладываются по биндерам, декам, вишлистам и вообще любым спискам, какие придумаешь. У каждой карты — цена в долларах и евро (данные тянутся из Scryfall), редкость, сет, текст, официальные разъяснения правил, значок Reserved List, пометка первого издания, ранг популярности по EDHREC. Тыкаешь в карту и сразу видишь про неё всё, а не только «ну, красная какая-то».
Отдельно я горжусь статистикой коллекции, потому что это ровно та штука, которой мне не хватало во всех табличках на свете. Приложение показывает суммарную стоимость с поправкой на состояние (помятый Tarmogoyf и идеальный Tarmogoyf — это две очень разные цены), прибыль и убыток с момента покупки и даже кто в коллекции больше всех вырос, а кто просел. Смотреть на это временами больно, но полезно.
Если коллекция уже есть в другом приложении — переезжать не с нуля. Eldwyn импортирует и экспортирует CSV и, что важно, честно показывает, какие строчки он не смог опознать, а не молча их проглатывает. Это дорогого стоит: нет ничего хуже, чем через месяц обнаружить, что при переезде потерялась сотня карт, и ты даже не знаешь каких.
И всё это работает офлайн. После первой загрузки данных интернет нужен только чтобы подтянуть картинку карты, которую ты ещё не открывал. В метро, на кухне у друга, в магазине с дохлым вайфаем — без разницы.
Первый раз, когда я прогнал через сканер целую коробку — что-то около тысячи карт, сваленных без всякого порядка, — на всё ушёл вечер под сериал, который я всё равно толком не смотрел. Держишь карту, наводишь, она падает в нужный список, берёшь следующую. Втягиваешься быстро, и в какой-то момент это превращается почти в медитацию. На паре карт из Kaldheim он споткнулся, добил руками, но процентов девяносто взял сам, и я к ним даже не притронулся.
Чего ждать и чего не ждать
Теперь честно, иначе смысла в этом тексте нет. Сканер узнаёт большинство карт с первого раза и за долю секунды, но не все и не всегда. Базовые земли путает — их же десятки почти одинаковых артов. Фойлы под неудачным углом бликуют так, что не узнал бы и живой человек. Альтернативные арты и всякие Secret Lair иногда ставят его в тупик. На такие случаи есть ручной поиск, никто не заставляет мучить камеру, но обещать «наведи на что угодно, и всё сработает» я не стану. Не всё сработает.
И ещё: Eldwyn — это трекер, а не магазин и не оценщик. Он покажет цену со Scryfall, но не продаст вашу карту и не подскажет, у какого барыги на рынке она сегодня на полтинник дешевле. Он ведёт учёт. Это его работа, большего он не обещает.
Про приватность два слова, раз уж зашла речь. Снимки карт обрабатываются прямо на телефоне и никуда не улетают. Вся коллекция лежит локально, у вас на устройстве. Никакой аналитики, никакого сбора данных, никаких аккаунтов. Мне самому не по себе от приложений, которые тащат мою активность непонятно куда, так что своё я таким делать не стал.
И, собственно, всё
С тех пор как я всё это доделал, тот самый стыд у витрины прошёл. Захожу в магазин, вижу карту, открываю телефон — есть, две штуки, лежат в биндере с рарами. Или нет — тогда беру. Всё.
Кстати, про «две штуки». Разбирая через сканер старые залежи, я наткнулся на фойловую Snapcaster Mage из Innistrad, которую купил лет десять назад, сунул в какую-то коробку и намертво забыл. Всё это время она пролежала между стопкой коммонов из того же сета. Приложение честно оценило её дороже, чем я вообще помнил, что за неё отдавал. За один этот момент, пожалуй, вся возня и окупилась.
Eldwyn бесплатный, лежит в App Store: apps.apple.com/app/id6759303500, а подробности и скриншоты — на eldwyn.app. Нужен iOS 17 или новее. Если попробуете — напишите, что распозналось, а что нет. Мне правда интересно.