Сделала Million Dollar Homepage для творчества, но что‑то пошло не так
Помните Million Dollar Homepage, где пиксели продавали по доллару? У меня такая же сетка, только место бесплатное, а вместо рекламы рисунки и стихи.
Этим летом я запустила CreativeTrace: общий холст, на котором любой может оставить маленькую творческую работу. Рисунок, стих, звук, файл, обрывок мысли и ссылку на свой канал или сайт. Прошло четыре месяца: сайт посетили 340 человек, на стене около 50 работ, а я до сих пор не уверена, зачем и кому это может быть нужно. Ниже — как он устроен, что показали цифры и что пошло не так.
Откуда идея
Я давно думала об офлайн‑месте: что‑то вроде музея, куда люди приносят рисунки, стихи, записки, странные предметы и вешают всё это на общую стену. Арендовать зал я не могу, а сделать сайт могу.
Отдельно скажу честно: у меня много начатых и брошенных проектов. Этот первый, который я довела до работающего продукта с живыми пользователями. Уже ради этого стоило.
Что такое CreativeTrace
Это общая стена‑холст на 120×80 клеток. Человек выбирает свободное место и оставляет trace: текст, картинку, gif, аудио или файл. К работе можно приложить ссылку на свой канал или сайт.
-
Анонимные отклики. Зрители могут отреагировать на работу, автор видит реакции, но не знает, от кого они.
-
«Написать автору». Если автор разрешил, зритель может написать ему прямо с холста, сообщение приходит в Telegram‑бота, на который автор должен предварительно подписаться
-
«Дорисуй». Автор рисунка может разрешить другим дорисовывать поверх. Это самая свежая функция.
-
Два языка интерфейса, русский и английский.

Как сделано
Первый коммит — 2 июня 2026 года. Сейчас в проекте около 23 тысяч строк кода на Python и TypeScript и 23 миграции базы. Писала в Cursor, вместе с ИИ, но с правилами архитектуры, которые сама задала агенту.
|
Часть |
Что использовано |
|---|---|
|
Фронтенд |
Next.js 15, React 19, TypeScript, Tailwind, next‑intl (RU/EN), react‑zoom‑pan‑pinch |
|
Бэкенд |
FastAPI, SQLAlchemy 2.0 (async), Alembic, Pydantic |
|
Данные |
PostgreSQL 16, Redis 7, MinIO (S3-совместимое хранилище файлов) |
|
Бот |
aiogram: модерация, вход, уведомления |
|
Инфраструктура |
Docker Compose, Caddy, VPS на Timeweb, деплой через GitHub Actions на каждый push в main |
Холст. Это большой div 9 600×6 400 пикселей (120×80 клеток по 80 px), а trace лежат на нём как absolute‑элементы. Масштаб и перемещение даёт react‑zoom‑pan‑pinch. Я сознательно не стала брать Canvas или WebGL: на десятках работ DOM справляется, зато каждый trace — обычный React‑компонент с аудио, PDF‑превью и реакциями. Сервер проверяет, что trace стоит в пределах холста, кратен клетке и не пересекается с другими. Бесплатно можно занять до 9 клеток; заготовка под платные большие trace в коде есть, но выключена.
Модерация через Telegram. Заявка уходит боту, мне приходит сообщение с кнопками «Одобрить» и «Отклонить». После одобрения trace появляется на холсте, а бот присылает прямую ссылку на него. Для остального есть админка: стена, заявки, чёрный список IP и метрики.
Защита от спама без капчи. Лимиты в Redis: 5 заявок за 10 минут и 20 в сутки с одного IP. В форме есть скрытое поле‑ловушка для ботов. Файлы проверяются по расширению и MIME, у каждого типа свой лимит размера. На любой trace можно пожаловаться, жалоба тоже приходит в бот.
Вход и сообщения автору. Войти можно через Telegram Login или по почте. Для trace вход не обязателен, он нужен для реакций, сообщений автору и совместных рисунков. Сообщения зрителей доставляет тот же бот (автор должен заранее на него подписаться) или письмо.
Совместные рисунки. Исходная картинка и каждое дополнение хранятся отдельно, как прозрачные PNG‑слои, а общая картинка пересобирается из них. Если двое рисуют одновременно, второй получает конфликт версий: его штрихи сохраняются, и редактор предлагает наложить их на обновлённый фон. У каждой отправки есть свой id, поэтому повтор после обрыва связи не создаёт второй слой. Автор может скрывать и возвращать отдельные дополнения. Эту часть покрывают тесты на бэкенде и браузерные тесты на Playwright.
Как я работала с ИИ. Код я писала вместе с агентом в Cursor. Завела файл с правилами архитектуры: бэкенд разделён на слои (роуты → сервисы → модели), и агенту прямо запрещено класть бизнес‑логику в роуты или тащить HTTP‑исключения в сервисы. ИИ сильно ускоряет работу, но решать, что и как делать, и проверять результат всё равно приходится самой.
Цифры за четыре месяца
За четыре месяца на стене появилось около 50 работ, хотя продвижения почти не было.
|
Метрика |
Значение |
|---|---|
|
Уникальные посетители |
340 |
|
Визиты главной страницы |
522 |
|
Нажатия «Добавить» |
54 (все клики, а не разные люди) |
|
Зарегистрированные пользователи |
20 |
|
Работы на стене |
~50 |
|
Реакции на работы |
153 |
Данные с середины июня по середину октября 2026 года, по моей самописной аналитике.
Что меня удивило:
-
Рисунков больше, чем текстов. Я думала, что приходить будут пишущие люди, как мои читатели. Пришли в основном художники: аниме‑иллюстрации, живопись, абстракция.
-
Люди откликаются. 153 реакции на 340 посетителей — это больше, чем я ожидала от пустого на вид сайта.
Что пошло не так
-
Миллиона нет и не будет. Это, безусловно, фрустрирует.
-
Спрос я не проверяла. Сначала сделала, потом стала думать, кому это нужно. Ответ на этот вопрос я начала искать только теперь, когда всё уже готово. Можно было бы небольшое исследование провести, пусть даже среди друзей. Но, мне так хотелось это сделать, и я так была уверена в гениальности своей идеи, что собрала основной функционал за ночь, почти не прерываясь, работая на чистом допамине.
-
Продвинуть оказалось сложнее, чем создать. Чтобы о сайте узнали, нужно найти людей, которым он интересен, и дать им причину прийти. Здесь нет чётких шагов, результат не гарантирован, и для разработчика это совсем другой навык. Вайбкодинг сделал создание продукта быстрее, но продвижение за меня никто не сделает.
Что дальше
Не уверена, что это вообще кому‑то нужно, кроме меня и что из этой идеи может вырасти что‑то крутое.
И вопрос к вам, если дочитали:
-
Нужен ли такой сайт вообще, и что заставило бы вас вернуться на него второй раз?
-
Что бы вы сделали на моём месте дальше?
-
Что можно добавить, если считаете, что проект вообще имеет место быть?
Ссылка на сайт: creativetrace.space.
Автор: jirafa27

