От диплома до MVP социальной сети: 8 месяцев разработки в одиночку и запуск dinkaapp.ru
Ободранные стены, тараканы которых я выводил 4 месяца, раскладушка вместо кровати, старый ноут и кредиты. Именно в таких условиях я за 8 месяцев построил социальную сеть. Без команды, без инвестора, без курсов. После основной работы на складе — 6-8 часов кода каждый день. Около 50-60 часов в неделю. Просто потому что иначе не мог.
Меня зовут Александр, мне 23 года, и это история о том, как детская мечта превратилась в работающий продукт.
Почему соцсеть?
Когда мне было 16 лет, я мечтал разработать свою социальную сеть. На тот момент были популярны ВК, Instagram*(социальная сеть, деятельность которой запрещена на территории Российской Федерации») — даже Telegram тогда не имел таких огромных охватов. Я изучал базовый HTML/CSS/JS, мне нравилось создавать одностраничники которые были лишь у меня на ноуте, но в какой-то момент просто перегорел и мотивация ушла.
Лишь спустя 7 лет, мне захотелось вернутся обратно в этот омут программирования. Наступил 2025 год, жизнь превратилась в замкнутый круг: работа — дом — работа. Я учусь на 3 курсе вышки, и начал готовится к защите диплома, в голову лезло моного идей, т.к учусь на ИТ, выбирал между ботами для телеги, и каким нибудь одностраничным лендиногом, но потом после раздумий решил сделать соц. сеть осенью 2025. Так в сентябре 2025 года я начал разработку.
Глава 1. Начало (сентябрь–ноябрь 2025).
Мой выбор пал на популярный стек Next.js и Node.js. Я не смотрел курсы и не читал книги о том "как войти в IT". Просто выбрал Next.js и Node.js — не знаю почему, показались понятными. Из знаний на тот момент — только базовая вёрстка на голом HTML и CSS.
Скачал готовый шаблон dashboard из интернета и начал его разбирать. Выглядело это как открытая книга на латинице — слова знакомые, смысл не понятен. Неделю копался в чужом коде, правил цвета и иконки, прогонял каждую строчку через ChatGPT и просил объяснить почему именно так.
Бесплатные лимиты ChatGPT заканчивались быстро — нашёл лайфхак, менял локацию и счётчик сбрасывался. Пользовался этим 2-3 месяца пока не пофиксили.
К середине октября уже понимал как работает фронт на Next.js и начал вносить правки. Открыл для себя Firebase — и это стало моим проводником на следующие 3 месяца. Просто, понятно, всё как в библиотеке, где каждая книга на полочке в алфавитном порядке. Написал первые запросы к базе, создал 3 таблицы и сделал интерфейс который мне тогда казался очень продвинутым (нет).
Глава 2. Первый кризис (декабрь 2025).
В декабре стало понятно что Firebase — тупик. Блокировки усиливались, Google мог уйти следом, плюс ФЗ-152 обязывает хранить данные россиян на территории РФ. Оставаться на Firebase значило строить на зыбком фундаменте. Да и целом я не понимал как его надо будет оплачивать, когда придут первые юзеры.
Я не особо долго выбирал, потому что бессевреные функции мне понравились, и я начал искать аналог, выбор был между Yandex Cloud и VK Cloud. Яндекс мне был ближе по душе, и я выбрал именно его. После того как я зарегался и открыл их интерфейс, я тут же его закрыл через 10 минут после первого открытия.
В течении 3 дней я пытался хоть как то понять этот интерфейс (скажу четсно, без алкаголя не вышло). Было примерно так, открыл, посмотрел, чет потыкал, нифига не понял, вышел. И так было по кругу. Спустя неделю упорные попытки что то там сделать и запустить, увенчались успехом.
Спустя недели две, как оказалось — всё удобно, надо было просто разобраться без спешки и понять что за что отвечает. Глядя назад, я понимаю что в Яндексе сидят гении, которые смогли все это, развернуть в одном месте, где у тебя есть абсолютно все. Если Firebase это игрушка для детей, по типу песочницы в Роблоксе, то Yandex Cloud это для настоящих профессионалов, я клянусь вам, без пива там не разобраться, но как только вы сможете приручить этого дракона, перед вами будет открыт горизонт который вы не видели никогда и ни где.
Глава 3. Переход на Yandex Cloud (декабрь 2025 – январь 2026).
После того как я смог разобраться в интерфейсе, первое что я сделал это создал базу данных YDB, одну функцию и S3-хранилище. И начал учить дружить фронт и serverless-функциии.
Параллельно спроектировал систему авторизации: пользователь регистрируется, вводит почту, получает код который живёт 5 минут в таблице базы данных. Почему 5 минут? Даже если кто-то скомпрометирует таблицу — код успеет протухнуть раньше чем им воспользуются. (В будущем я уйду от этой идеи).
Это был первый момент когда я начал думать не "как сделать чтобы работало", а "как сделать чтобы было безопасно". Разница огромная.
Глава 4. Прозрение (январь 2026).
Первая рабочая функция была мега-монолитом. Одна функция на Node.js — профили, лайки, подписки, лента, всё подряд. 1600 строк кода в одном файле. Чугунный мост на serverless-архитектуре.
В январе дошло: если завтра зайдут 100 человек одновременно — это ляжет. YDB сойдёт с ума от хаотичных запросов, Яндекс начнёт выдавать таймауты, пользователи уйдут и не вернутся.
Оставлять дизайн 2015 года и бэкенд написанный на коленке было нельзя. Пора было взрослеть как разработчику.
Глава 5. Великая перестройка (февраль 2026).
Февраль прошёл в тумане между сменами на складе и ночным кодингом. Шаблон dashboard окончательно отправился на помойку. Я переписал фронтенд полностью — минимализм, адаптивность под мобилки, современный дизайн.
Бэкенд раздробил на отдельные функции:
- Авторизация и токены
- Профили, подписки, лента, лайки
- Загрузка медиа напрямую в S3 — чтобы не гнать файлы через серверную память
- Комментарии
- И другое (кому интересно задавайте вопросы)
Итого 9 функций в Yandex Cloud, 11 таблиц в YDB, около 10-12 тысяч строк кода.
Знаете какое это чувство — когда впервые связываешь фронт, serverless-функции, YDB и S3, нажимаешь обновить страницу, и оно работает без единой ошибки в консоли? В этот момент я готов был орать на всю квартиру. Жаль некому было услышать — я жил один.
Глава 6. Условия в которых это всё происходило
Здесь надо остановиться отдельно, потому что без этого история неполная.
Я переехал в Нижний Новгород один. Квартира — ободранные стены, облезлые полы, убитый потолок. Тараканы которых я выводил 4 месяца и всё-таки вывел. Первый год — без дивана, без холодильника, без телевизора. Спал на раскладушке. Из техники — только старый ноутбук.
И кредиты.
Каждый день после работы на складе — садился за этот ноут и писал код. 6-8 часов. Иногда больше. В среднем 50-60 часов в неделю на проект. Раз в месяц-два брал паузу на несколько дней — просто потому что я тоже человек.
Никто не заставлял. Никто не ждал результата. Просто изо дня в день видел как проект растёт — и это было достаточно.
Глава 7. Запуск (март–апрель 2026)
В марте купил домен, получил SSL, завершил деплой. Вбил в браузер dinkaapp.ru, прошёл регистрацию и...
Проект который 8 месяцев назад начинался с полного непонимания разницы между Node.js и Next.js — теперь доступен всему интернету. Профили, лента основанная на подписках, лайки, комментарии, карточки-витрины для бизнеса, загрузка фото, поиск пользователей.
Время загрузки профиля — 20-30 мс. Стоимость инфраструктуры — около 30 рублей в месяц за DNS в Yandex Cloud. Serverless-функции и YDB тарифицируются по запросам — при текущей нагрузке выходит практически ноль. Все данные хранятся в России, полное соответствие ФЗ-152.
Были приложены все усилия для красивого дизайна, оптимистичных обновлений, и многого другого и я могу с уверенностью сказать, что сил было вложено безумно много.
Весь функционал который присуствует на сайте создан одним человеком.
АУТЕНТИФИКАЦИЯ
- JWT токены с ротацией
- HttpOnly куки
- Refresh token механизм
- Авто-обновление токенов при 401
- Токен версии
ИНФРАСТРУКТУРА
- Yandex Cloud Functions
- YDB база данных
- S3 хранилище для фото
- Docker контейнеризация
- CORS настройки
- Rate limiting
ФРОНТЕНД
- Next.js 14 App Router
- Адаптивный дизайн (мобилки, планшеты, десктоп)
- Кэширование (несколько уровней)
- Шиммеры и скелетоны
- Порталы для модалок
- Кастомные хуки
ФУНКЦИОНАЛ СОЦСЕТИ
- Лента подписок
- Профили пользователей
- Подписки/подписчики
- Лайки (с оптимистичным UI)
- Комментарии (с оптимистичным UI)
- Загрузка фото
- Редактирование профиля
- Поиск пользователей
- Витрина рекомендаций
ЗАЩИТА И ОПТИМИЗАЦИЯ
- Защита от XSS (HttpOnly куки)
- Защита от CSRF
- Оптимизация запросов
- Пагинация
- Кэширование на всех уровнях
Глава 8. Что дальше
Сейчас май 2026 года. На сайте живые пользователи. Код далеко не идеальный — я это знаю лучше любого критика. Но он работает. И работает быстро.
Я строю российский аналог Instagram*(социальная сеть, деятельность которой запрещена на территории Российской Федерации») — не потому что это модно, а потому что малый бизнес в РФ потерял свой главный канал продаж в 2022 году и до сих пор не нашёл нормальной замены. Алгоритмы которые прячут контент, платные охваты, зависимость от западных платформ — это реальная боль реальных людей.
Я хочу дать им площадку где их видят не за деньги, а за контент.
Буду ли я справляться один дальше — не знаю. Но пока справляюсь.
Вместо заключения
Я до сих пор ощущаю себя стажёром. В моём коде есть костыли. Архитекторы крупных компаний найдут что покритиковать. Но пока они спорят о чистой архитектуре — я взял и сделал.
Если вы сейчас сидите и думаете "я знаю только HTML и CSS, куда мне" — вот вам ответ. Никуда не надо. Просто начните. Сначала делайте чтобы работало. Понимание как надо правильно придёт само в процессе.
Не ждите идеальных условий. Идеальных условий не будет. Будет раскладушка, тараканы и старый ноут. И этого достаточно.
Всем кодинга и стабильного деплоя.
dinkaapp.ru — российская социальная сеть для людей и малого бизнеса. Все данные хранятся в РФ.