О Screenshots.live

Screenshots.live автоматизирует рутину между мобильным кодом и App Store. Создан разработчиком, который устал вручную переэкспортировать одни и те же скриншоты для 13 локалей в каждом релизе.

Кто это создаёт?

Eric Isensee

Eric IsenseeFounder

Инженер из Германии. Создаю Screenshots.live с 2024 года, фокусируясь на API-поверхности, которая действительно нужна разработчикам — конфигурации YAML, детерминированный рендеринг и настройки по умолчанию, дружественные к CI/CD. Ранее выпускал мобильные и backend-системы в e-commerce, финтехе и инструментах для разработчиков.

Зачем существует Screenshots.live?

Скриншоты в магазинах приложений — это маркетинговый актив с самым высоким эффектом в мобильной разработке: именно они решают, установит ли пользователь ваше приложение. Они же и самые трудоёмкие: каждый релиз означает переэкспорт одних и тех же композиций для iPhone 6.5", iPhone 6.7", iPad 12.9", iPad 11", Android-телефона, Android-планшета 7" и Android-планшета 10". Умножьте на каждую локаль, в которой вы выпускаетесь. Это 50+ изображений на релиз для приложения с одной локалью и 600+ для приложения с 12 локалями.

Ручной экспорт ломается под такой нагрузкой. Дизайнеры переключают контекст. Локали выпадают из синхронизации. Релизы откладываются. Screenshots.live решает это, рассматривая скриншоты как код: спроектируйте один раз в визуальном редакторе, отрендерите программно через API или плагин Fastlane, выпустите все варианты за один прогон CI.

Для кого это?

Как мы это создаём?

Продукт строится на трёх принципах:

  1. API-first. Каждая возможность визуального редактора также доступна через REST. Шаблоны, элементы, рендеры, шрифты — всё адресуется по API-ключу. Если рабочий процесс можно выполнить в редакторе, его можно выполнить и в CI/CD.
  2. Детерминированный рендеринг. Один и тот же шаблон + переменные каждый раз дают одни и те же пиксели. Никаких ненадёжных результатов LLM в цепочке рендеринга. Критично для diff-тестов скриншотов и проверяемых артефактов CI.
  3. Веер локалей по умолчанию. Мультиязычный рендеринг — это не флаг функции, это принцип работы продукта. Один шаблон, все поддерживаемые локали, в одном вызове API.

Где можно узнать больше?