Проект: /hat и нашествие шляп  Публичный пост
10 сентября 2026  29
/hat и нашествие шляп
https://apps.apple.com/us/app/hat/id6802061799

TL;DR

/hat - iOS-приложение для игры в шляпу в компании. Попробуйте. линк

Если захотите, пишите фидбэк в чатик или мне в личку.

Если вы не слышали про шляпу, правила - тут.

Идея - шляпа

Привет, клуб! Я Слава, работаю в Perplexity AI, делаю инференс LLM-ок и менее распиаренных моделек.

Пару летних выходных, пока AI-лабы работали над recurrent self-improvement и приближали сингулярность, я потратил на решение по-настоящему насущной проблемы человечества - отсутсвия играбельной шляпы под iOS. А заодно, сам того не зная, стал участником нашествия Шляп на Вастрик.

Что в шляпе?

Я фанат персональной шляпы: каждый игрок получает очки за угаданное или объяснённое слово, а пары "объясняющий - угадывающий" меняются каждый круг.

Ещё есть приятные мелочи, которых обычно нигде нет: таймер на финальную попытку и возможность редактировать результат раунда.

И самое важное - словарь с хорошим распределением слов по сложности.

Из чего шляпа?

Разработка состояла из двух частей: сварить словарь и написать приложеньку для игры.

В разработке под iOS я понимаю не очень много, поэтому процесс выглядел примерно так: "Перплексити, расскажи мне азы разработки под iOS". В ответ я получил полотно про про системные библиотеки, уже загруженные в память, и поэтому дешёвый запуск приложений. Это было интересно, но не очень применимо на практике.

Потом случилась практическая часть: "Клод, я пишу приложеньку для шляпы. Вот механика и экраны. Напиши подробный план в папочку wiki”. В целом Клод справился. Я одним глазом следил за абстракциями и запрещал писать совсем уж лапшу. Из милых странностей: Клод решил идти в ногу со временем и выбрал SwiftUI. Теперь, чтобы отрендерить пару кнопок и текстовых полей, нужна свежая версия iOS. Но пока даже неплохо: похоже, всё нужное и правда есть из коробки.

А вот словарь делать было веселее. Спойлер: закончится всё тоже Клодом.

Сейчас в приложении русский и английский словари, подготовленные одинаковым способом.

Первый шаг - найти приличный словарь. Для английского я взял en.wiktionary.org, для русского - НКРЯ, Национальный корпус русского языка.

Потом открываем Jupyter Notebook и превращаем словарь во что-то пригодное для игры. Для начала оставляем только существительные в словарной форме.

Следующий шажок - убрать диакритику: палочки, точечки, ударения. Кроме буквы "ё", которую я нежно люблю. Ведь ёж - он ёж, а не еж. Пока возился с юникодом, вспомнил студенческую молодость с бесконечными проблемами кодировки в Python и головной болью с юникодом на курсах NLP.

Для оставшихся слов добываем частоту употребления. Для этого я скачал по отдельному частотному словарю для каждого языка.

В конце натравливаем Клода: просим разметить сложность и 18+ слова. Промпт получился волшебный: "Разметь сложность слов для игры в шляпу. Вот слова с частотами и пачка примеров. А ещё разметь 18+: вот список тем и вкусные 18+ примеры”. Сначала я хотел добавить в игру возможность включить 18+ часть словаря, но в итоге побоялся ревью в App Store.

Весь пайплайн до разметки Клодом воспроизводим. Но меня до сих пор мучает вопрос: стоили ли того страдания с частотой и диакритикой? Может быть, можно было сразу отдать сырой словарь Клоду.

Я разделил слова на четыре уровня сложности: просто, средне, сложно и кошмар. "Просто" отлично играется с детьми или на английском. "Нормально” заходит в компании взрослых образованных людей. В "сложно" я играю, если хочется почувствовать свою никчёмность. А "кошмар" - для вечеринок, где филфак пьёт с истфаком: там я знаю каждое десятое слово, если повезёт.

App Store и первые пользователи

Ещё один забавный квест - выложить приложение в App Store. После первого ревью приложение развернули со списком вопросов на пол-экрана: для кого оно, какую проблему решает и как им пользоваться. А ещё попросили прислать скринкаст использования. Я посмеялся над вопросом "какую проблему решает?" - это мой любимый вопрос на работе. Я методично ответил на всё полотно, и приложение появилось в App Store.

За следующие пару недель я показал приложение друзьям и собрал урожай фидбэка и хотелок. Например, добавил режим, где нельзя пропускать слова - только банить после ошибки.

Сеанс психоанализа, или зачем

Когда первая версия /hat таки оказалась в App Store и друзья сыграли пару раз, появился вопрос: зачем это всё? Кроме дежурного ответа "ну, было весело", вспомнились ещё две истории.

В школе я играл в спортивное программирование и писал много кода, который делал что-то относительно сложное. Но всё взаимодействие с внешним миром выглядело так: прочитать тест из входного файла, записать ответ в выходной. Тогда казалось, что это классно, но где-то существует "настоящее" программирование, в котором программы решают "настоящие" проблемы.

Ещё помню университетское ощущение: однокурсник рассказывает, что сделал приложение для подготовки к экзаменам в Первом меде, выложил его, о господи, в App Store и даже что-то на этом заработал.

Похоже, кроме желания сделать играбельную шляпу, во мне сидело студенческое желание сделать с нуля что-то "настоящее”. И это даже удалось: внутри есть тёплое, булькающее ощущение чего-то завершённого.

Планы, деньги, помощь клуба

Амбиций заработать на приложении у меня нет.

Основные траты примерно такие: подписка Apple Developer - $100 в год, разметка одного словаря - около $50. Или можно на месяц купить топовую подписку на Codex или Claude Code - это около $200

В планах - доползти до пары сотен скачиваний, выйти за пределы своего пузыря, а потом успокоиться.

Если появятся активные пользователи с хотелками, можно будет что-нибудь дописать: парный и командный режимы, раунды с одним словом и шарадами, ещё несколько языков.

Через клуб хочу найти ещё людей, которые любят персональную шляпу и готовы попробовать приложеньку.

А в целом всё как всегда: пробуйте, ставьте лайки, делитесь с друзьями.

Приложенька тут, фидбечить сюда.

Связанные посты
Откомментируйте первым 👇

😎

Автор поста открыл его для большого интернета, но комментирование и движухи доступны только участникам Клуба

Что вообще здесь происходит?


Войти  или  Вступить в Клуб