"Я не слишком хороший программист. Но я программист с хорошими привычками"
— Кент Бек
- Помимо программирования занимаюсь подводной и не только фотографией 🤿📸
- Увлекаюсь яхтингом и виндсерфингом ⛵🏄
- КМС по стрельбе из блочного лука 🏹
"Мастерство — это не 10 000 разных выстрелов. Это один выстрел, повторённый 10 000 раз."
От данных на дайв-компьютере до истории, которую хочется сохранить.
Разрабатываю Depthline — визуальный журнал погружений: Android-приложение, интерактивный лендинг и серверную веб-платформу. Проект объединяет моё увлечение подводным миром и разработку продукта целиком — от работы с устройством до интерфейса, сайта и выпуска обновлений.
Погружения с часов становятся наглядным личным журналом. Загрузка со Scorpena Alpha по Bluetooth LE, профили глубины и температуры, календарь и фридайв-сессии. Локальная база хранит историю на телефоне; импорт и экспорт UDDF, резервные копии и PDF-логбук помогают переносить и сохранять данные. Карточки сессий для ленты и сторис превращают результат тренировки в изображение, которым удобно поделиться.
Flutter · Dart · Riverpod · SQLite · Bluetooth LE
Знакомство с приложением начинается с ощущения глубины. Адаптивный лендинг с собственной WebGL-анимацией волн, переходами между сценами и шкалой глубины. Реальные экраны приложения, видеоуроки и короткие инструкции ведут посетителя от первого знакомства к установке. Отдельные страницы про логбук, UDDF и Scorpena Alpha, метаданные и sitemap готовят сайт к поисковому продвижению.
JavaScript · HTML / CSS · WebGL / GLSL · SEO
За презентацией продукта — инфраструктура его развития. Объединил лендинг и серверную часть на Laravel: страницы продукта и история версий, доставка APK и видео, API событий и инструменты статистики. Настроил проверки в CI и автоматическую публикацию сайта с резервным копированием, миграциями и возможностью отката кода.
Laravel · PHP · MySQL · Docker / Sail · GitHub Actions
Мой вклад: продуктовые сценарии и UX/UI, мобильная и веб-разработка, интеграция с оборудованием, визуализация данных, тестирование и CI/CD — полный цикл работы над собственным продуктом.
Открыть сайт → · История версий и APK →
Веб-приложения, картография, тестирование, 3D-графика и мобильная разработка — технологии из моих рабочих и личных проектов.
Учебный опыт с Angular 2.
| Репозиторий | Описание |
|---|---|
| nvimVScode | Персональная конфигурация Neovim для веб-разработки |
| AstroNVim v4 config | Моя настройка AstroNvim v4 |
|
Создал русскую документацию для фреймворка |
|
| Пакет | Скачиваний | Описание |
|---|---|---|
| shallowly | Modern shallow renderer for React 18+ | |
| color-picture | Получение среднего цвета изображения | |
| lazy-with-preload | React lazy с предзагрузкой | |
| file-signature-in-react | Компонент для подписи файла ЭЦП | |
| crypto-pro-cadesplugin | API для КриптоПро | |
| cuon-matrix | Матрицы для OpenGL/WebGL | |
| prettier-plugin-delete-eslint-disable | Удаление eslint-disable |
| Проект | Превью |
|---|---|
| 3D Audio Visualizer | Three.js визуализация аудио |
| Scroll Animation | Скролл эффекты на Three.js |
✦ Самый лучший код — не написанный код
✦ Самый большой грех — переоптимизация
✦ Код должен легко умирать
✦ Код должен быть простым в чтении и понимании
✦ Правило пионера: оставляй код лучше, чем он был
✦ Безумие — делать одно и то же и ждать разных результатов
✦ Код без тестов — это legacy код
🌐 bad4iz.ru — мой личный сайт: заметки о жизни, прочитанные книги и интерактивные финансовые калькуляторы.
| 📚 Прочитанные книги | bad4iz.ru/books-read |
| 🎙 Подкаст Веб-стандарты | Выпуск на YouTube |
| 🎓 Курс по React Query | YouTube Playlist |




