💡 Идея
Я хотел сделать не просто «плеер для видео», а полноценную платформу со всеми базовыми фишками, которые мы привыкли видеть в YouTube:
🎬 Просмотр и загрузка видео
📱 Шортсы (вертикальные ролики, как в TikTok)
❤️ Лайки и дизлайки
💬 Комментарии
🔔 Подписки на каналы
📊 Тренды
👍 Понравившиеся видео и список «Смотреть позже»
🔐 Авторизация и регистрация
И всё это должно работать как единый продукт, с красивым интерфейсом и удобной навигацией.
🛠️ Что использовал
Бэкенд
Go 1.21 — быстрый, надёжный, идеально подходит для API
Gin — лёгкий веб-фреймворк
PostgreSQL — основная база данных
JWT + bcrypt — авторизация и безопасность
ffmpeg / ffprobe — генерация обложек и определение длительности видео
Docker — чтобы поднять всё одной командой
Фронтенд
Next.js 16 (App Router) — современный React-фреймворк
TypeScript — строгая типизация
Tailwind CSS — быстрая стилизация без лишнего CSS
Turbopack — моментальная сборка
🧠 Как я подходил к разработке
Самое интересное — я не писал всё руками с нуля. Весь процесс я вёл в диалоге с AI-помощником (DeepSeek). Я описывал задачу, получал готовый код, тестировал, находил баги, отправлял их обратно — и AI исправлял. Так мы двигались по кругу, пока всё не заработало как надо.
Это был настоящий тандем: я — как продакт-менеджер и тестировщик, AI — как разработчик, который не устаёт и не спит 😄
🔥 Что получилось
Главная страница
Лента с видео и шортсами. Всё как на YouTube: карточки с превью, названия, просмотры.
Шортсы
Отдельная лента с вертикальными видео, которая работает как TikTok: автоплей, свайп, подписки.
Тренды
Видео, набравшие популярность за последние 7 дней. Тоже разделены на обычные видео и шортсы.
Профиль
Всё как у людей: подписки, просмотры, видео, шортсы. Удобные вкладки «Видео» и «Shorts».
Страница видео
Сам плеер, описание, лайки, дизлайки, комментарии, рекомендации. Всё по-взрослому.
Что в итоге
У меня получился рабочий видеохостинг, который можно показать в портфолио и даже использовать как основу для реального проекта.
Всё работает в Docker, разворачивается одной командой, имеет чистый код и понятную архитектуру.