Приложение Verdict
Этот пост я буду обновлять по мере обновления приложения.
Я много лет оцениваю все просмотренные фильмы и сериалы. И оценкой каждого просмотренного фильма мне хочется делиться в соцсетях.
Раньше я просто делал скриншот с оценкой из приложения IMDB. И в таком виде публиковал. Но мне никогда не нравилось, как это выглядело, потому что картинка некрасивая получается.

Сделал шаблон в Figma, который мне нравился, но это нужно было каждый раз менять там постер, название фильма и оценку. И всё это можно было сделать только с компа, потом выслать себе картинку на телефон для публикации.
В начале 2025 года увидел разные статьи, что теперь с нейросетями можно сделать своё приложение, даже если не умеешь кодить. И решил попробовать.
За пару недель сделал приложение Verdict. У него была всего одна функция — сгенерировать красивую картинку с оценкой просмотренного фильма.
Этот пост сделал чтобы записывать, как меняется приложение и что появляется в нём нового.
1.0

Всё приложение состоит из трёх экранов: список фильмов и поиск, страница фильма и кнопка оценки, оценка фильма и сохранение изображения.
Список фильмов составляется из фильмов, которые популярны на данный момент в сервисе TMDB. Информация о фильме тоже берётся из TMDB.
После сохранения оценки получал вот такую красивую картинку, которую не стыдно загрузить в сторис инстаграма.
Больше никаких экранов, и оценить можно было только фильмы, сериалов не было.
2.0
Трейлеры
Как и список фильмов на главной, список трейлеров формируется на основании того, что вышло недавно и что пользуется популярностью.

Посмотреть позже
Простой список, куда можно сохранить фильм, который хочешь потом посмотреть.

3.0
Сериалы
Помимо оценки фильмов, мне очень не хватало возможности оценивать сериалы, потому что я их смотрю возможно даже больше, чем фильмы. Поэтому это важное для меня обновление.

Более того, оценить можно не только весь сериал целиком, но и конкретный сезон.

Популярное
Иногда мне хочется узнать, какие популярные фильмы я пропустил в прошлых годах. Для этого на этом экране есть список популярных фильмов за всё время, а можно отфильтровать за конкретный год.

Локализация
Изначально я делал приложение на английском языке, но сразу думал, что надо будет добавить и другие языки. Добавил русский, а потом решил, что можно заодно добавить и ещё десяток других. Получилось больше, чем десяток.
Сейчас приложение доступно на этих языках:
- Арабский
- Английский
- Бенгальский
- Венгерский
- Вьетнамский
- Греческий
- Датский
- Иврит
- Индонезийский
- Испанский (Испания)
- Испанский (Мексика)
- Итальянский
- Каталанский
- Китайский (традиционный)
- Китайский (упрощённый)
- Корейский
- Литовский
- Малайский
- Немецкий
- Нидерландский
- Норвежский
- Норвежский (букмол)
- Персидский / Фарси
- Польский
- Португальский (Бразилия)
- Португальский (Португалия)
- Русский
- Румынский
- Словацкий
- Французский
- Финский
- Хинди
- Хорватский
- Тайский
- Турецкий
- Украинский
- Урду
- Чешский
- Шведский
- Филиппинский
Причём смена языка влияет не только на интерфейс, но и на контент.

4.0
Страница актёра
На экране фильма или сериала добавил небольшой блок с актёрами, которые в нём снимаются. И если нажать на актёра, то откроется экран, на котором можно посмотреть его фильмографию.

Веб-версия
В приложении у каждого фильма и сериала есть иконка ссылки, которой можно поделиться и открыть страницу в браузере, не имея приложения.
На этой странице больше информации о фильме, например, есть список стримингов, где он доступен. А для сериалов есть также описание сюжета каждого сезона. И ещё много всякого по мелочи.
Например, вот страница фильма «Орудия»

Рефакторинг
Из-за того, что новые фичи добавлялись по отдельности, у них не было никакой связки друг с другом. Например, экран со списком фильмов и экран трейлеров не знали о существовании друг друга, поэтому при переключении они каждый раз грузились заново.
В какой-то момент в XCode заметил, что приложение стало грузиться дольше, потреблять больше памяти и питания.
Я попросил нейросеть проанализировать все файлы в проекте и предложить возможности оптимизации и рефакторинга. И за несколько итераций она практически полностью переписала большую часть кода. В итоге приложение стало работать быстрее.
5.0
Покажу скриншоты и расскажу больше, когда всё доделаю!
Это, пожалуй, самое большое обновление, в нём я сделал профиль пользователя. Для этого пришлось много чего сделать и что-то переделать.
При этом, не хотелось это всё усложнять с серверами и хранением пользовательских данных. Поэтому технически это очень простое, но элегантное, решение: Sign in with Apple для аутентификации + CloudKit для синхронизации. Никаких внешних серверов, никаких сложных API — только нативные технологии Apple.
Сначала я сделал новый экран Профиль, на котором человек может авторизоваться со своим аккаунтом Apple. Если ему не нужно сохранение оценок, а нужна только картинка с оценкой для инстаграма, то приложением можно пользоваться и без авторизации.