Pet-проект для портфолио в 2026: что стоит писать
Я регулярно смотрю pet-проекты в резюме мидлов и джунов. Каждый второй — клон туду-листа на React, который коллекция фронтенд-мира хранит в десятках тысяч экземпляров. Хочется сказать честно: такой pet-проект не помогает на собеседовании. Он балластит CV, не добавляя сигнала о тебе.
В 2026 хорошие pet-проекты — отдельная дисциплина. Ниже разбираю, что писать, чтобы это работало в плюс, а не в ноль.
Зачем вообще нужен pet-проект
Когда ты сеньор с 8 годами в продакшене — тебе pet-проект не нужен. Опыт говорит сам за себя.
Pet-проект полезен, если:
- Ты джун или младший мидл и тебе нужно показать, что у тебя есть код, а не только курсы.
- Ты меняешь специализацию (бэк → фронт, фронт → ML), и старый опыт не подтверждает новую.
- Ты хочешь зайти в конкретную нишу (геймдев, blockchain, embedded), не имея коммерческого опыта.
- Ты хочешь продемонстрировать конкретный навык (системное программирование, перфоманс, работа со сложными UI).
Если ни один пункт не твой — фокусируйся на основном опыте, а не на pet-проектах.
Антипаттерны: что не делать
1. Туду-лист, погода, калькулятор
Эти три проекта сделаны в каждом курсе. Они показывают, что ты прошёл туториал. Никаких сигналов о тебе как разработчике.
Если у тебя в портфолио только они — это хуже, чем ничего. Лучше написать «нет публичных проектов», чем выложить третий по счёту туду-лист.
2. Огромный незавершённый монолит
«Пишу свой клон Авито уже два года». В репо 30 коммитов, последний полгода назад, README пустой. Это говорит, что ты теряешь интерес и не доводишь до конца.
3. Туториал, переписанный «с дополнениями»
Видно сразу. Структура файлов один-в-один из туториала, комментарии переведены с английского, добавлено два новых компонента. Никакого собственного решения.
4. Лендинг с лорем-ипсумом
«Сверстал landing page на Next.js». Если внутри лорем — это не проект, это упражнение. И обычно даже сверстано не идеально, потому что не было реального контента.
Что работает
1. Решение собственной проблемы
Сильнейший сигнал: ты увидел проблему в своей жизни, написал инструмент, пользуешься им сам. Например:
- Парсер расписания твоего вуза с уведомлениями в Telegram.
- CLI для синхронизации задач между Google Calendar и Notion.
- Браузерное расширение, которое делает что-то полезное в твоём рабочем флоу.
- Бот для семейной группы, который напоминает о ДР и считает общие расходы.
Видно мотив, видно конечный результат, видно, что ты использовал это сам.
2. Open source contribution
Не свой проект, а вклад в чужой. Pull request, который вошёл в популярную библиотеку. Plugin к редактору. Issue, которое ты разобрал и закрыл.
В 2026 это сильнейший сигнал для зарубежных компаний. Они видят, что ты умеешь работать в open source-процессе: писать тесты, проходить ревью, договариваться с мейнтейнерами.
3. Технически сложный проект
Что-то, что ты бы не смог сделать год назад. Если ты фронтендер — собственный bundler. Если бэкендер — RAFT-консенсус на Go или собственная in-memory БД. Если ML — модель с не-курсовой задачей.
Объём не главное. Глубина и понимание — главное. Маленький проект на 1000 строк кода с правильной архитектурой и тестами лучше большого без.
4. Полезная утилита для сообщества
VSCode-плагин, инструмент для DevTools, конвертер форматов, что-то для CI. Если у тебя на GitHub звёзды от 50+ — это уже сильное портфолио.
5. Микросервис в продакшене
Ты задеплоил что-то на свой VPS или Vercel/Railway, оно работает, у него есть пользователи (хотя бы ты и пара друзей). Это сильнее, чем код в репо без деплоя.
Чек-лист хорошего pet-проекта
- README с описанием: что это, для кого, как запустить.
- Скриншот или короткое видео (gif) — рекрутер посмотрит за 5 секунд.
- Ссылка на работающий деплой (если применимо).
- Тесты — хотя бы базовые. Без тестов pet-проект выглядит как «попробовал».
- CI/CD — github actions с проверкой PR. Несложно, но сразу даёт сигнал.
- История коммитов — без single «initial commit». Несколько разумных коммитов с понятными сообщениями.
- Документация архитектуры — короткий ARCHITECTURE.md, что внутри.
- Лицензия (MIT или Apache).
Идеи pet-проектов под разные специализации
Frontend
- Свой стейт-менеджер по принципам Redux (показать понимание потоков).
- Полнотекстовый поиск по локальным заметкам с подсветкой совпадений.
- Клон Twitter/Instagram только-фронт, на mocked API, с виртуализацией списка и Infinite Scroll.
- Расширение Chrome для специфической задачи (читалка, заметки на странице).
- Свой UI-кит для собственных проектов (10–15 компонентов с Storybook).
Backend
- URL-shortener с метриками, кэшем, rate limiting.
- Свой message broker (упрощённый, на топиках, без Kafka).
- WebSocket-чат с поддержкой комнат.
- API-агрегатор (например, парсит несколько источников погоды и собирает в единый ответ).
- Свой ORM или query builder.
DevOps / Infra
- Полный стек инфраструктуры на Kubernetes для своего блога: сервис, CI, мониторинг, логирование.
- Terraform-модули для типичных задач (VPC, базы, CDN).
- Самонаписанный мониторинг для домашнего сервера.
ML / Data
- Модель для своей задачи: классификация писем, рекомендации книг, прогноз счетов.
- End-to-end pipeline: сбор данных, обработка, обучение, инференс через API.
- Воспроизведение известной статьи (paper) с разбором результатов.
Mobile
- Что-то, что ты используешь сам каждый день. Утренние напоминания, трекер привычек, что-то для своего хобби.
- Игра на 1–2 экрана с несколькими механиками.
- Приложение, которое работает офлайн и синхронизирует данные при появлении сети.
Сколько времени тратить
Грубо: 60–120 часов на хороший pet-проект. Это 1.5–3 месяца по 1–2 часа в день, или интенсивный месяц по 3–4 часа.
Один pet-проект, доведённый до конца, лучше пяти заброшенных. Если уже есть незаконченные — закрой два-три, а остальное удали из публичного доступа.
Как презентовать в резюме и на собеседовании
В CV — короткий блок «Pet-проекты»:
tg-schedule-parser — Telegram-бот для парсинга расписания МГУ.
Python, asyncio, FastAPI, PostgreSQL. 200+ ежедневных
пользователей. github.com/myname/tg-schedule
mini-bundler — учебный bundler в стиле Webpack.
TypeScript, esbuild, AST-обходы. Поддерживает CommonJS
и ESM, code splitting. github.com/myname/mini-bundler
На собеседовании будь готов рассказать про каждый: какая была задача, какие решения принимал, какие проблемы решал, что бы сделал иначе сейчас. Это половина успеха технического собеседования джуна-мидла.
Если на проект уйдёт пять минут — просто скажи это. Кандидаты, которые честно говорят «это упражнение, я там не глубоко» — лучше тех, кто пытается выдавать туториал за серьёзную инженерную работу.
Что запомнить
Pet-проект — не «что-то для галочки в CV». Это инструмент, чтобы показать конкретный навык или решить конкретную проблему. Один сильный, доведённый до конца, в продакшене — лучше десяти неоконченных туториалов.
Если ты не знаешь, что писать — оглянись на свою работу или личную жизнь. Что тебя бесит, что хочется автоматизировать, какую задачу ты решаешь руками много раз. Это и есть pet-проект, который реально пригодится и тебе, и тому, кто будет смотреть его в твоём резюме.