Обновить

Один за всех: как я в одиночку тащу фуллстек‑проект, который незаметно разросся до соцсети

Время на прочтение6 мин
Охват и читатели14K
Всего голосов 22: ↑21 и ↓1+23
Комментарии36

Комментарии 36

У меня несколько вопросов. Зачем ты делаешь этот продукт? И как будешь монетизировать?

Ну и плюс, я смотрю ты только начал, там буквально 0 пользователей. А если ценность в комментариях, то хотя бы несколько комментов к фильму появятся с миллионом пользователей.

И какая мотивация будет оставлять комментарии?

Я без негатива если что, ты молодец, я даже плюсанул статью

я хочу помочь маме у нее рак 4 стадия ,мне пришлось бросить работу и ухаживать. Может что то получится заработать .да и для меня немного отвлекает от той реальности в которой сейчас живу ,вот 2 причины почему начал делать как это монетизировать пока не знаю нет опыта.

Если есть время на такой проект, может на позицию мидла устроиться и вайбкодить было бы чуть более профитно? Или пробовал и не получилось совмещать?

у меня нет такого опыта. а без опыта некуда не берут. А время ну много ,ну оно тоже зависит от Самочувствия Мамы ,я еще и в деревне живу огород,дел хватает .и над сайтом много работаю ночами и днем .а в основном все упирается что я самоучка и без опыта.спасибо за вопрос.

Поддерживаю вопрос другого комментатора. В чем ценность продукта?

Сейчас это просто вайбкод в качестве интерфейса и невычитанный нейрослоп в качестве контента. Я потратил пол часа на сайте и так и не смог придумать зачем он может быть нужен пользователю. (У слову я ца - много лет пользуюсь КП и оцениваю каждый просмотренный фильм + веду список отложенных к просмотру)

А за реальные грабли с прода - респект. Плюсанул

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

весь смысле не могу описать

Обязательно нужно сначала для себя понять. И потом, зная ответ на вопрос "в чём ценность" уже идти в маркетинг. даже в такой условно "бесплатный" как самостоятельная публикация статей

ну может в чем то вы правы .ну я может напишу статью в чем ценность проекта смысл его ,но пока работы над проектом много еще .Совершенству нет придела и так же,то му чему я вместе с проектом учусь ,это тоже своеобразная ценность опыт.

Вы меня не поняли. не нужно писать статью об этом. нужно сначала вам ответить на этот вопрос. И уже с этим знанием строить функционал, маркетинг и т.п.

Сейчас вы лепите фичи как-попало. Так аудиторию не удержать. Нужно осознать потребность аудитории, причины по которым она могла бы уйти из КП к вам. И под эти потребности и причины выбирать функционал. Возможно, когда вы это осознаете - бОльшую часть придётся выкинуть или переписать.

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

Тоже такое делаю. Уже несколько лет ;) Мне больше не хватало системного аналитика, который бы сразу сказал "как правильно" и еще убедил бы в этом - переделывал много раз. И еще буду переделывать - уверен.
У меня PWA/SPA на реакте. Управляю состоянием компонентов на useSWR. И куча контекстов. И три уровня токенов авторизации ;) И go на сервере. В go я хожу отдыхать... ;) Про состояния сервера в принципе давно узнал, потому делаю сразу stateless и две базы - master для записи и реплики. И ci освоил - рекомендую, недельку-другую поматериться, а потом хорошо.
Тема - CivilTech: объединение жильцов и собов в целях управления общим имуществом (но можно всех объединять - спортсообщества, профсоюзы и школьные комитеты). Сейчас освоил push'и, чтобы было похоже на телеграм, но в базе древовидные форумы для хранения документов. Описание: https://pro.deloset.ru - тут немножно стрёмно описано - щас чаты допилю, и стану маркетологом.

интересно

На сайте нет никакой модерации. Контент на 100% состоит из нейроналлюцинаций.

На главной я сразу прон нашел с жанром "драма, мелодрама". Еще и стоп кадр с трейлера соответствующий ;)
Функция подборки фильмов мягко говоря странная, так еще есть опция добавить знак своего зодиака.

А, ну и куча эмодзи и встроенный промт для описания фильма в самом описании фильма.

нет я видел .это тоже есть и на TMDB стоп кадер согласен .спасибо убрал настрою модерацию жоще .и есть банеры +18 предупреждающие сами понимаете контента много и фильмов такой тематики на популярных даже на КП .не говорю о популярных соц сетях где сидят дети .Моя ошибка Извиняюсь займусь этим вопросом строже сделаю фильтрацию фильмов

да модерация автоматическая и только настраивается. Но есть и ручная уже готова.но я один работаю.это исправил было таких 135 с неправильными фото .у меня есть хорошая автоматизация которая полностью ищет исправляет если я нахожу одену ошибку. Спасибо Большое

Расскажите, как реализовали push уведомления и каким сервисом пользуетесь для email уведомлений.

Я у себя такое выше написал - вопрос ко мне? Щас по-свежему распишу.
Push - это про service worker. Нахлобучка между сайтом и браузером мимо обычной бизнес-логики. SW подписывается на определенный endpoint на ресурсе конкретного браузера. В логике сайта нужно поднять разрешение/подписку, и отправить на сервер. Сервер запоминает подписку. И по нужде пишет зашифрованное сообщение на тот самый endpoint, который слушается клиентом.
Важно, SW работает даже если сайт закрыт. И на этом устроено PWA. И обновляет, и поднимает push'и в системном трее. В dev-режиме нужно настраивать vite, чтобы sw правильно поднимал.
Еще у меня есть SSE - server side events. Это для открытого чата. Тут клиент подписывается на stream-канал, который держится открытым, восстанавливается если упадет. И сервер просто отправляет сообщения в открытый канал. Важно, что http/2 это не умеет (в go так). Нужно снижать версию http-соединения. И подстраивать канал под flush сообщений. То есть отличается от обычного http-запроса. И nginx перед сервером может требовать хитрой настройки.
Email у меня свой. Нативный Postfix на VDS и доменном имени. Тут сложности больше в "белой почте" ака трех защитах - даже у профессионалов приходят письма с ошибками.
Сервер просто отсылает письма на свой smtp-сервер через стандартную библиотеку.

Push-уведомления. Сделал на нативном Web Push (VAPID), без FCM/Firebase и без сторонних сервисов — мне не хотелось вендор-лока ради пет-проекта.

  • На фронте (Next.js) регистрирую service worker (/sw.js), через него подписываюсь: reg.pushManager.subscribe({ applicationServerKey: VAPID_PUBLIC }), и шлю подписку на бэк.

  • Подписку (endpoint + ключи p256dh/auth + user-agent) храню в PostgreSQL, по одной на устройство — у юзера их может быть несколько.

  • На бэке (FastAPI) рассылаю через pywebpush с VAPID-ключами: шлю на все устройства пользователя, payload — JSON {title, body, url, icon, tag}ttl=3600. Просроченные подписки (ответ 404/410) автоматически удаляю из базы, чтобы не копился мусор.

  • Из нюансов: в Chrome/Firefox/Edge/Android работает из коробки, а на iOS пуши прилетают только если сайт установлен как PWA (Safari 16.4+) — это ограничение самого Apple, не реализации.

Итого — полностью своё, бесплатно, без внешних зависимостей.

Email. Тут максимально скучно и надёжно: никакого SendGrid/Mailgun/SES — просто SMTP моего хостинга (Timeweb) через стандартный питоновский smtplib (MIME, html+text-версии письма).

  • Конфиг SMTP (host/port/user/pass) лежит в БД (в настройках сайта), чтобы менять без передеплоя.

  • Письма транзакционные: сброс пароля, welcome, уведомления о новых рецензиях, алерты админу.

  • Для соло-объёмов почтового ящика хостинга хватает с запасом. Если когда-нибудь упрусь в лимиты или доставляемость — вынесу на Postmark/SES, но пока это было бы преждевременным усложнением.

Логика та же, что и со стеком в статье: беру самое простое, что работает и что я могу обслуживать один.

А никого не смутил в заглавной карточке поста первый фильм? :DDDD

извиняюсь устронил) буду работать лучше

Романтическая драма "Невесты и ш..."?)

Да))) минут хихикал в офисе с этого

Я тяну свой сайт https://webhamster.ru с 2010 года. Он был написан на PHP + Codeigniter-1.7, потом переехал на 2.x, и так до сих пор и остается. В качестве БД используется SQLite3, пришлось писать самодельный драйвер для него, ибо на момент разработки он существовал только для SQLite2.

По-началу это все работало на конфигурации:

- CPU 160 MHz
- RAM 64 Mb
- HDD 2 Gb

Для админ-панели был написан самодельный интерфейс, который конфигурируется одними только XML-файлами. Имеются XML-описания, которые полностью описывают все элементы структуры:

- Меню
- Таблицы
- Экранные формы
- Перечисления
- Цепочки взаимосвязей

Чтобы все это работало, был написан движок, который называется Винтерпроцессор (Виртуальный Интернет Процессор). От состоит из элементов:

- Персистентные контроллеры
- Стек-машина
- Одноразовые данные (регистры)
- Ассемблер
- Исполнительное устройство

Эта инфраструктура нормально пережила на минимальных мощностях и Хабра-эффект, и ЛОР-эффект:

* Хабраэффект: не так страшен чёрт, как его малюют
* Лор-эффект: полёт нормальный

Потом сайт стал развиваться, на нем появились форум и гостевая с самодельным антиспамом, а затем появились сайд-проекты типа MyTetra Share.

Ядро сайта так и не изменилось, но многие вещи были дописаны. Сейчас, спустя 15 лет, сайт крутится на оборудовании:

- CPU 1GHz
- RAM 1 Gb
- HDD 20 Gb

На сайте проиндексировано около 15000 страниц. В лучшие годы на сайт заходило до 6 тысяч человек ежедневно. Сейчас иногда бывают всплески по 1000 человек в день, но это редкость. С появлением нейросетей посещаемость сайта сильно упала, да и я редко им занимаюсь, две-три новости в год - хорошо если будут написаны. Зато на сайте постоянно появляются мои статьи и статьи моих пользователей из MyTetra - то есть, к примеру, записи, которые я постоянно делаю, когда разбираюсь в каком-либо вопросе, а нейросети тупят и несут ахинею. Их можно увидеть в мониторинге статистики MytetraShare.

Кроме меня никто этот проект тянуть не сможет, поэтому выбора по-сути не остается, его надо просто продолжать делать, хотя бы по остаточному принципу. Вот и вся мотивация. Раньше на рекламе проект приносил около 1500 руб в мес. За год накапливалась небольшая сумма 15-20 тыс. руб, которую можно было на что-то потратить. Теперь проект еле-еле балансирует на уровне самоокупаемости: оплатил хостинг и домен, и хорошо если пара тысяч в год останется на пирожное.

Вот примерно так.

это очень интересно. минималка оборудование.но вы же еще занимаетесь сайтом?

Да, по мелочи. Там же даты публикаций везде видны.

15 лет на одном стеке это достойно уважения! Зато код работает предсказуемо и не требует переписывания каждые полгода из-за мажорного апдейта фреймворка)

Зашел заценить. В самом верху, в левом верхнем углу - легендарный фильм Невесты и ш***и от компании Private. Очень интересный фильм, спасибо, теперь я знаю что буду смотреть на выходные =)

Ну а по сабжу - отличный проект, правда дизайн от нейросетки, но это не столь страшно ) Получилось очень даже ничего

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

привет.. тебе помощник не нужен ?

я рад любой помощи .но сами понимаете в наше время бесплатно не помогают, а мне нечем платить .сам бы где заработать стараюсь как то заработать(

таких много .сейчас всего много .но вы же не знаете что подкапотном этого сайта .нутак судить по обложке не совсем коректно.

Хочу выразить благодарность всем кто оценил и написал приятное и слова поддержки .Спасибо всем дай бог вам здоровья и вашим семьям. Я буду продолжать стараться работать над проектом и учится делать лучше.

Синдром проекта на пару выходных сгубил больше хороших инженеров, чем любой легаси код

Писать пет-проект ради фана это одно, но пытаться в соло вытянуть соцсеть без бюджета на маркетинг - путь вникуда

Первая часть — чистая правда, спорить не буду: «синдром пары выходных» выкосил многих. Но, кажется, он убивает не тех, кто долго пилит, а тех, кто привязал самооценку к дате релиза и к чужому определению успеха. Если проект для тебя ещё и способ прокачаться, не закиснуть и сделать давно задуманное — то «не выстрелил как стартап» и «провал» перестают быть синонимами.

А вот «соцсеть без бюджета на маркетинг = путь вникуда» — здесь поспорю. Бюджет на маркетинг сам по себе ещё ни один продукт не спас и не убил. Убивает другое: ноль пользователей, ноль обратной связи и выгорание автора. А лечится это каналами, которым деньги не нужны, — SEO, сообщества, контент. Вот эта самая статья — мой «маркетинг» за 0 рублей, и комментарии вроде твоего мне ценнее закупки трафика. Тот же Letterboxd — кино-соцсеть, которая годами росла на комьюнити и сарафане без рекламных бюджетов, прежде чем стала тем, чем стала. Деньги приходят потом, а не наоборот.

И да — я не строю «следующий гугл» и не жду экзита. Это некоммерческий проект, который я делаю один по вечерам. Поэтому метрика успеха у меня не «обогнать Кинопоиск», а «работает + есть живые люди, которым это реально нужно». По ней он уже не «вникуда». А вот настоящий «путь вникуда» — это, по-моему, как раз не начать, потому что заранее посчитал, что без бюджета не взлетит.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации