Егор iOS разработчик
Привет! Я Егор — iOS-разработчик с продуктовым опытом в ERP, POS, retail и fintech-проектах. Делаю мобильные приложения на Swift, работаю с UIKit, SwiftUI, realtime-сценариями, offline-first логикой, локальным хранением данных, CI/CD и тестированием.
Сейчас развиваю Smart-Trex — EPUB-читалку для изучения языков через книги с переводом слов, словарём и собственным backend.
Текущий проект
Smart-Trex — читалка для изучения языков через книги
Я разрабатываю Smart-Trex — EPUB-читалку на SwiftUI для изучения языков через книги. Это pet-проект, в котором я собираю полноценный продуктовый цикл: импорт и отображение EPUB, перевод слов, локальное хранение, словарь, backend для переводов, HTTPS-инфраструктуру и тестируемую архитектуру.
Идея приложения — не заменить обычный переводчик, а помочь читать на иностранном языке без постоянного переключения контекста: нажал на слово, получил перевод, сохранил в словарь и позже повторил.
Smart-Trex
Smart-Trex — это не просто переводчик. Это приложение для тех, кто хочет читать книги на иностранном языке и постепенно расширять словарный запас.
- Читать: импорт EPUB-книг и хранение их в локальной библиотеке
- Переводить: перевод слов по нажатию и отдельный экран переводчика
- Запоминать: сохранение переводов и формирование личного словаря
- Повторять: подготовка слов к будущему режиму повторения
Главный сценарий продукта: читать → переводить → сохранять → повторять.
Технологии
- UI: SwiftUI — декларативные экраны, адаптивная вёрстка, переиспользуемые компоненты
- Reader: WKWebView — отображение EPUB-глав и обработка нажатия на слова
- Архитектура: MVVM + Use Cases + Repository layer
- Асинхронность: async/await — сеть, парсинг и перевод
- Хранение: Core Data — книги, прогресс чтения, история и кэш переводов
- Backend: Node.js + Express — API-прокси, rate limit, валидация запросов
- Перевод: self-hosted LibreTranslate за Nginx и HTTPS
- Инфраструктура: Docker Compose, Nginx, Let’s Encrypt, Cloudflare DNS
- Тесты: unit-тесты для парсинга, репозиториев, use case-ов и view model-ей
Путь к первому релизу
Техническая основа уже готова. Сейчас фокус — довести основной пользовательский сценарий до удобного состояния и подготовить первую сборку для TestFlight.
Уже реализовано
- Библиотека книг: импорт EPUB, список книг, обложки, метаданные и прогресс чтения
- Reader: отображение глав, экран чтения и базовый reading experience
- Inline-перевод: нажатие на слово и получение перевода через app flow
- Экран переводчика: выбор языков, смена направления, результат, копирование и повтор
- Backend: рабочее API для перевода на api.yekkee.me
- Локальное хранение: книги, история переводов и кэш переведённых слов
- Тесты: покрытие важной логики парсинга и бизнес-слоя
Следующие задачи
- Корректный кэш переводов: ключ кэша должен учитывать текст, source и target
- Vocabulary: отделить словарь пользователя от технического кэша переводов
- Add to Vocabulary: сохранять в словарь только те слова, которые пользователь выбрал сам
- Review mode: простой режим карточек для повторения сохранённых слов
- Перевод фраз: переводить не только отдельные слова, но и выделенные фрагменты
- Настройки чтения: размер шрифта, тема, исходный язык и язык перевода
- App Store polish: onboarding, скриншоты, privacy policy и TestFlight-сборка
Текущий фокус: сделать сценарий чтение → перевод → словарь быстрым, понятным и надёжным.
Обо мне
Я Егор — iOS-разработчик с опытом продуктовой мобильной разработки в ERP, POS, retail и fintech-направлениях. Работал над кассовым приложением для розничной торговли, основным мобильным ERP-приложением МойСклад, кроссплатформенными библиотеками и iOS-приложением для крипто-трейдинга.
В проектах занимался не только интерфейсами, но и бизнес-логикой, realtime-сценариями, offline-first подходом, локальным хранением данных, интеграциями с внешними системами, архитектурой, автоматизацией сборок и тестированием. Мне важно доводить фичу до конца: от UX и состояния экрана до сетевого слоя, хранения, CI/CD и стабильного релиза.
- iOS: Swift, UIKit, SwiftUI, Swift Concurrency, RxSwift, Combine
- Архитектура: MVVM, Use Cases, Repository layer, Coordinator-style navigation, Clean Architecture
- Хранение: Core Data, Realm, local-first и offline-first сценарии
- Retail / ERP: POS-сценарии, возвраты, оплаты, бонусы, фискальная логика, маркировка
- Fintech: realtime trading UI, WebSocket-сервисы, REST API, PnL, push-уведомления
- Интеграции: эквайринг, платёжные терминалы, Честный Знак / ТС ПИоТ, push-навигация
- Инструменты: Tuist, XcodeGen, SPM, CocoaPods, Fastlane
- CI/CD: GitLab CI, Allure-отчёты, test plans, автоматизация сборок
- Кроссплатформа: опыт с Kotlin Multiplatform библиотеками для iOS/Android/Desktop
- Тестирование: XCTest, UI-тесты, Page Object, RxTest/RxBlocking
Мой ПК
- CPU: AMD Ryzen 7 7800X3D
- GPU: Palit GeForce RTX 5080 GamingPro
- Материнская плата: ASUS ROG STRIX B650E-E Gaming Wi-Fi
- RAM: 32 GB DDR5-6000 CL36 Kingston FURY Beast RGB (2×16 GB)
- Хранилище: Samsung 990 PRO 4 TB (M.2 NVMe) + Samsung 970 EVO Plus 1 TB
- Охлаждение: DeepCool LS520 (240 mm AIO)
- Корпус: ARDOR GAMING C305 V2, стеклянный фронт и боковая панель
- Вентиляторы: 7× ID-COOLING TF Series [TF-12025-ARGB] через хаб
- Блок питания: Seasonic Focus GX-850, 850W, 80+ Gold
- Монитор: 32" Samsung Odyssey OLED G8 G81SF S32FG810SI