
Part Production Cell — MES & OEE
OpenPLC, Ignition Perspective и SQLite: порядок в событиях, KPI и причинах простоев.
Fynza был небольшим продуктом с полезным ограничением: быстро выйти в релиз, удержать фокус и пройти путь от дизайна до App Store.
Я работал вместе с маркетологом, разобрал нишу, упростил основной сценарий расходов и собрал приложение сам, не останавливаясь на макетах.
В проект вошли UX, SwiftUI-реализация, брендинг, материалы для App Store, онбординг и paywall-логика — компактный end-to-end релиз.

Я начал с минимального полезного сценария расходов: понятный вход с главной, быстрое добавление, необязательная аналитика и минимум настроек. Цель была не скопировать finance-приложения, а оставить продукт простым для понимания и быстрым для релиза.

Хочу быстро увидеть расходы за период. Хочу знать общую сумму. Чтобы понять, сколько трачу.
Хочу добавить расход за пару секунд. Ввести сумму. Выбрать категорию или создать свою. Чтобы потом легко читать список и графики.
Хочу периодически смотреть сводки. Хочу видеть структуру трат. Чтобы понимать динамику и не гадать на ощущениях.
Я собрал каркас приложения в Xcode, разложил структуру по экранам и использовал AI-assisted development аккуратно, а не как автопилот. Процесс заставил разобраться в SwiftUI, исправить UIKit-проблемы и держать реализацию близко к исходной продуктовой логике.

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

Первый шок был сильный. Некоторые референсы выглядели как скам. Но это тоже часть рынка.
Пробовал совместить агрессивные приёмы и свой контент. Было непривычно. Я привык к «воздуху» и спокойным цветам.
Нашёл компромисс. Сделал крупные заголовки и усилил элементы, но не превратил всё в баннер. Приглушил фон. Сгладил композицию карточками. И оставил достаточно места для текста.
Идея простая: доллар и сканер. Сделал аккуратно и с правильными пропорциями. Под светлую и тёмную тему. На рабочем столе смотрится хорошо.
Если человек уже скачал — важно не потерять момент. Сделал короткий онбординг из трёх экранов. Дальше — paywall. Закрыл приложение и добавил первый расход — снова paywall. Да, это тренд. И да, работает.

Чтобы не страдать с темами и переводами, сделал универсальный каркас. Он переживает любую длину текста.
Сначала собрал один каркас. Контент подставлял из кода на статичных данных. Так быстрее проверять логику.
Онбординг сверстался спокойно. К этому моменту уже появилось понимание, как делать быстрее и без лишних ошибок.
Выводы

OpenPLC, Ignition Perspective и SQLite: порядок в событиях, KPI и причинах простоев.

OpenPLC и Ignition: ladder-логика, Structured Text state machine, обратная связь датчиков и проверяемые циклы.

Enterprise-мониторинг для АЭС: состояния системы, инженерные ограничения и 3D-логика хранилищ.