Так получилось, что сейчас мы ищем в команду младшего Android-разработчика. Я много общаюсь с ребятами, которые только начинают свой путь в Android, и внимательно изучаю их GitHub — особенно те репозитории, которые они указывают в резюме.

И, если честно, картина выглядит немного печально. Приходишь на GitHub к кандидату, а там в лучшем случае лежат недоделанные наброски или абсолютно одинаковые, шаблонные проекты с популярных курсов. Сами по себе курсы — это плюс, на мой взгляд, но приложение с курсов выглядит у всех одинаково, и дальше названия я, как правило, не ухожу.

На собеседовании хочется видеть свой личный пет-проект. Проект, в котором человек самостоятельно придумал идею, организовал код, спроектировал архитектуру и наступил на свои собственные грабли. Я по своему опыту знаю, что именно самостоятельная разработка — от локальной базы данных до UI — дает самый мощный буст в навыках (особенно, когда одно и то же приложение переписал 3 раза =) ).

Поэтому у меня появилось желание помочь начинающим разработчикам. В этой статье я собрал идеи для пет-проектов, которые лично я бы оценил =), а также подобрал актуальные инструменты и бесплатные API для их реализации.

1. Картографическое приложение

Я не мог обойти эту тему, так как я долгое время занимался картами, и мне в целом приятна эта тема. Карты очень красиво могут выглядеть на устройстве и сложность проекта может сильно отличаться: от подключил SDK и дергаешь методы и до своей системы перевода геокоординат в координаты пикселей на экране, динамического выбора провайдера тайлов, конструирования своих офлайн карт и много всякого интересного.

Я бы предложил выбрать отдельно провайдера тайлов и отдельно библиотеку для рендеринга, а дальше накручивать дополнительные фичи.

Какой функционал может быть у такого приложения:

  • навигация и прокладывание маршрутов (в том числе для походов);

  • конструктор офлайн-карт;

  • метки на карте (пользовательские и возможность делиться ими);

  • поиск мест на карте — с помощью геодвижков;

  • виртуальные путешествия — когда вы строите маршрут, но не для того, чтобы идти по нему, а скорее как в настольной игре продвигаетесь по какой-то другой логике и передвигаете свой указатель (например, пересчитываете свои шаги за день);

  • карты с тематическими местами — например, все места для красивых фотографий в вашем городе;

  • можно продолжать придумывать до бесконечности =).

Инструменты:

  • Рендеринг карты: векторные тайлы — MapLibre, растровые — мне нравится библиотека mapcompose. Обе библиотеки имеют версию для KMP, а значит можно писать проект сразу под Android + iOS.

  • Где брать тайлы бесплатно: OpenStreetMap, Яндекс (есть лимит), MapTiler, ThunderForest, Bing (устаревшие данные), ArcGIS.

  • Поиск мест и маршруты: Nominatim, OpenRouteService.

2. Приложение для локального хранения паролей

Безопасность — отличная тема, чтобы показать на собеседовании, что вы понимаете, как работать с чувствительными данными, шифрованием и системными API. Это проект, который не требует бэкенда, но при этом может быть технически очень глубоким.

Какой функционал может быть у такого приложения:

  • надежное локальное хранение учетных данных с мастер-паролем;

  • генератор сложных паролей (с настройкой длины, спецсимволов и регистров);

  • автозаполнение паролей в других приложениях и браузере (Autofill Service);

  • вход по биометрии (отпечаток пальца или Face ID);

  • категоризация записей (соцсети, банки, заметки) и поиск по ним;

  • безопасный импорт/экспорт зашифрованных бэкапов базы данных локально.

Инструменты:

  • Шифрование и хранение: библиотека Tink от Google для криптографии. База данных — SQLCipher в связке с Room. Для KMP — связка SQLDelight + SQLCipher и multiplatform-settings.

  • Системные фичи: Android Autofill Framework, AndroidX Biometric.

  • UI/Архитектура: Jetpack Compose и MVI/UDF подход для строгого контроля состояний (заблокировано/разблокировано).

3. Приложение для прослушивания локальной музыки

Придётся разобраться с тем, как система работает в фоне =).

Какой функционал может быть у такого приложения:

  • сканирование устройства на наличие аудиофайлов;

  • воспроизведение музыки в фоне (Foreground Service);

  • управление плеером из шторки уведомлений и с экрана блокировки;

  • поддержка плейлистов, очереди воспроизведения и режимов (shuffle/repeat);

  • подтягивание обложек альбомов из метаданных трека;

  • таймер сна и эквалайзер.

Инструменты:

  • Воспроизведение и сессии: Media3 (ExoPlayer) — актуальный стандарт. Работа с MediaSession для шторки.

  • Работа с данными: MediaStore API для поиска локальных файлов, MediaMetadataRetriever для картинок и тегов.

  • Фон: Foreground Services и корутины для передачи прогресса трека в UI.

4. Приложение для просмотра локальных видео

Проект с акцентом на сложный UI, обработку жестов и тонкую работу с конфигурацией экрана.

Какой функционал может быть у такого приложения:

  • плавное воспроизведение тяжелых локальных видеофайлов;

  • режим Picture-in-Picture (PiP, картинка-в-картинке);

  • управление жестами (свайпы по краям экрана для яркости и громкости, дабл-тапы для перемотки);

  • поддержка внешних субтитров (.srt) и переключение аудиодорожек;

  • блокировка экрана от случайных нажатий.

Инструменты:

  • Воспроизведение: Media3 (ExoPlayer) — поддержка субтитров и аппаратного ускорения.

  • UI/UX: Обработка жестов pointerInput / detectDragGestures в Compose.

  • Системные фичи: Picture-in-Picture API, перехват смены ориентации (onConfigurationChanged), WindowCompatдля Edge-to-Edge.

5. Приложение-мессенджер для работы с LoRa (на примере Meshtastic)

Для любителей "железок" и нестандартных протоколов (Meshtastic). Один из минусов - придётся купить 1-2 устройства, но они недорогие, как правило (год назад стоили 1,5-2 круб.). Из плюсов у Meshtastic есть открытый код на гитхаб. У меня был опыт написания модуля для подключения, настройки и передачи информации по этим девайсам и поверьте - если вы разберетесь в их проекте на гитхаб - это сильно прокачает ваши навыки чтения и понимания кода.

Какой функционал может быть у такого приложения:

  • подключение к LoRa-ноде (Heltec, LilyGO) по Bluetooth LE;

  • отправка и получение текстовых сообщений без интернета;

  • карта сети: отображение других узлов на карте с GPS-координатами;

  • просмотр телеметрии устройства (уровень заряда, SNR/RSSI);

  • настройка параметров радиомодуля.

Инструменты:

  • Связь (Bluetooth): Нативный BLE или реактивные обертки вроде RxBluetooth. Для KMP — библиотека Kable. Я бы рекомендовал писать без библиотек, т.к. там все достаточно просто (когда разберешься =)).

  • Парсинг данных: Protocol Buffers (Protobuf) через плагин для Kotlin/Java.

  • Карты: Интеграция с MapLibre для офлайн-карт с метками узлов сети.

Последний совет - выбирайте интересный вам проект, потому что даже идеальный проект не гарантирует вам трудоустройства в текущих реалиях рынка, я не понаслышке знаю об этом, т.к. сам сейчас нахожусь в поиске. И хотя мои проекты на гитхаб закрыты (хотя я ими лично пользуюсь и они доступны в сторах), я думаю, что для людей без опыта они могут сильно помочь в поиске работы. А могут и не помочь, поэтому хотя бы кайфанёте при разработке и узнаете что-то новое =).

Комментарии (1)


  1. MarkDoroshko
    11.08.2026 07:50

    Здравствуйте!
    Идея с приложением для хранения паролей мне понравилась, возьму на заметку)
    Спасибо за статью!