Три варианта разработки
Не пытаться сделать всё сразу. Начинаем с минимума, который уже даёт живой сайт с каталогом — потом достраиваем модули по мере готовности: продажа, больше шрифтов, CMS, англ. версия.
Все сроки — для одного исполнителя (меня), full-time. Контент, финализация макетов, ассеты, тексты лицензионных соглашений, trial-файлы .woff2 — со стороны PlayFaces.
Трудозатраты измеряются в инженерных днях (6–7 часов фокусной работы). Перевод в недели — с запасом на коммуникации и правки, реалистично 4 инж. дня в неделю.
Пакет Start — запуск (≈ 6 недель / ≈ 26 инж. дней)
Результат: живой сайт на Timeweb, который уже можно показывать клиентам. Минимальный витринный MVP, без онлайн-покупки.
Включено:
- Setup: Next.js 15 + TypeScript + ESLint + Prettier + CI на Timeweb (2.5 д)
- Подключение собственных шрифтов студии (до 3 семейств на старте: Polymer, Repro, Plastinka) (1 д)
- Scale-адаптив: mobile + desktop, fluid между (детали в
05-adaptive-strategy.md) - Design tokens + базовые компоненты (кнопки, инпуты) (3 д)
- Header / Footer / Menu overlay / Fonts popup (4 д)
/— главная сMediaBlock(2 д)/intro— interview layout (1.5 д)/t&c— аккордеон (1 д)- 1 typeface page template — блочный article (Title / Paragraph / Quote / Pictures_article / Bibliography / Credits) + lightbox (5 д)
- Наполнение 2–3 шрифтов: Repro, Plastinka + 1 ещё. Контент готов со стороны PlayFaces, я собираю на сайте (1.5 д)
/services— лэндинг без детальных кейсов (список тегов, overview) (1 д)- Брендированные 404/500 (0.5 д)
- SEO-минимум: meta-теги, sitemap.xml, robots.txt, OpenGraph (1 д)
- Яндекс.Метрика (0.5 д)
- QA, кросс-браузер, правки (3 д)
НЕ включено в Start:
- Онлайн-покупка, лицензии, платежи — кнопка
buyскрыта или ведёт наmailto: - Trial-файлов — либо скрыт блок, либо простая форма «оставьте email, пришлют вручную»
- CMS — контент в JSON-файлах в репозитории, правки через pull request (дешёво и надёжно для редких обновлений)
- i18n — одна языковая версия (RU или EN на выбор)
- Lab, Spec — отсутствуют
- Страницы кейсов (13 штук) — только overview с перечнем тегов
- Newsletter — кнопка-заглушка без модалки
Смысл пакета: запустить сайт за полтора месяца, начать собирать аудиторию, понять что работает в реальной жизни. Дальше — добавлять модули.
Пакет Standard — продажа и контент (≈ 9 недель / ≈ 40 инж. дней)
Добавляется поверх Start:
Контент и CMS (+14 дней)
- PayloadCMS self-hosted на Timeweb, блочный редактор (или Sanity — если устроит облако США) — 3 д
- Все блоки article переезжают в CMS: Title, Paragraph, Quote, Pictures_article, Bibliography — 3 д
- Наполнение до 11 шрифтов (редакционные статьи + кредиты + постеры) — 6 д
- Контент кейсов (13 шт) в CMS:
/services/{slug}как отдельные страницы — 5 д
Продажа (Trial + Buy-light) (+7 дней)
- Trial flow: модалка email → валидация → API отправляет письмо со ссылкой на
trial.woff2(файлы со стороны PlayFaces) → TTL ссылки 7 дней → лог в CMS (2 д) - Buy-light: кнопка
buyоткрывает модалку с виджетомOption_bar— tier/users/regular-extended → расчёт суммы на клиенте → кнопка «Запросить инвойс» (отправка заявки менеджеру на email, без онлайн-оплаты) (3 д) - Newsletter popup с интеграцией Unisender / SendPulse (2 д)
Мелочи (+5 дней)
/services/{slug}— страницы кейсов (3 д за шаблон + CMS-схема, контент со стороны PlayFaces)- Lightbox full-size viewer для галерей (1 д)
- Расширенный SEO: JSON-LD (Product, CreativeWork, Organization), OG-картинки под каждую страницу (1 д)
QA (+2 дня поверх Start)
- Больше контента → больше edge-cases, больше проверок адаптива.
НЕ включено в Standard:
- Настоящая онлайн-оплата (YooKassa) — только запросы/инвойсы в ручном режиме
- i18n EN/RU (одна версия)
- Lab и Spec (или заглушки)
- Генерация лицензионного PDF, подписанные ссылки на файлы после оплаты
Смысл пакета: полноценный foundry-сайт с контентом, заявками на покупку, подпиской. Продажа шрифтов — «полуручная», подтверждение оплаты вручную.
Пакет Full — всё включено (≈ 15 недель / ≈ 62 инж. дня)
Добавляется поверх Standard:
Онлайн-покупка (+10 дней)
- YooKassa Checkout (основной) + CloudPayments (резерв) (2 д)
- Интеграция
Option_barв корзину: параметры → оформление → оплата → webhook (3 д) - Генерация лицензионного PDF: шаблон договора на основе tier/users, автоподстановка данных покупателя (2 д)
- Выдача файлов: после оплаты webhook кладёт шрифты в приватный бакет (Timeweb Cloud Object Storage, S3-совместимый), выдаёт подписанные ссылки с TTL 7 дней (2 д)
- Письма: чек, лицензия, ссылки на скачивание (Unisender Transactional / SMTP.com) (1 д)
Мировая оплата — опционально (+5 дней, если нужна)
Для международного рынка Stripe из РФ недоступен. Варианты:
- Paddle (UK), через международное юрлицо PlayFaces — собирает VAT автоматически, лучший вариант для digital goods.
- Gumroad как внешняя площадка (кнопка ведёт наружу) — дешёвый хак, но вся платёжная логика не наша.
Если мировая оплата не нужна — модуль не делается, экономим время.
i18n EN/RU (+6 дней)
next-intlлибо lingui — перевод UI-строк (2 д)- Переключатель языка в хедере (уже в макете, функциональность 0.5 д)
- Контент в CMS с локалями: каждый блок статьи хранится в двух языках, fallback RU (2 д)
- Переводы body-копирайта — со стороны PlayFaces (не входит в разработку)
- SEO: hreflang, альтернативные URL (
/en/...), локализованные OG (1.5 д)
/lab и /fonts/{slug}/spec (+4 дня)
- Lab — публичная страница с интерактивными экспериментами (2 д минимум, зависит от финальной идеи)
- Spec — type-specimen страница: глифы, ligatures, OpenType feature preview, waterfall размеров (2 д)
Type Tester (опция, +2–5 дней)
- Простой: textarea + slider веса → 2 д
- Продвинутый: OpenType feature toggles (SS01, SS02…), kerning test, несколько скриптов → 5 д
- Живёт на странице шрифта (в
specили рядом с Credits)
Адаптив «pixel-perfect» на 4K (опция, +3 дня)
- По умолчанию scale-адаптив даёт fluid — идеально для типографики. Но на 4K (2560+) типографика становится «очень большой».
- Опционально: clamp-обёртка на 1920px для сверхширокого, либо step-адаптив с 3 состояниями (mobile / desktop / wide).
QA (+5 дней поверх Standard)
- Весь buy-flow тестируется вручную и автотестами (Playwright).
- Cross-browser включая старый Safari (нюансы type rendering).
Смысл пакета: всё из макетов реально работает. Шрифты добавляются в CMS без разработчика, продажи идут онлайн, две языковые версии, экспериментальный раздел живой.
Таблица сравнения
| Start | Standard | Full | |
|---|---|---|---|
| Инж. дней | ≈26 | ≈40 | ≈62 |
| Календарно (недель) | ≈6 | ≈9 | ≈15 |
| Главная, Intro, T&C | ✅ | ✅ | ✅ |
| Typeface template | ✅ | ✅ | ✅ |
| Scale-адаптив | ✅ | ✅ | ✅ |
| Шрифтов в каталоге | 2–3 | 11 | 11 + расширяемо через CMS |
| Кейсы в services | ❌ (overview) | ✅ 13 кейсов | ✅ 13 + расширяемо |
| Контент | JSON в репо | PayloadCMS / Sanity | PayloadCMS / Sanity + локализация |
| Trial flow | ❌ | ✅ (email + ссылка) | ✅ |
| Buy-flow | ❌ | 🟡 Инвойс в ручном режиме | ✅ Онлайн-оплата + лицензия PDF |
| Newsletter | ❌ | ✅ | ✅ |
| i18n EN/RU | ❌ | ❌ | ✅ |
| Lab | ❌ | ❌ | ✅ |
| Spec / Type Tester | ❌ | ❌ | ✅ |
| Яндекс.Метрика | ✅ | ✅ | ✅ |
| SEO | минимум | расширенный | расширенный + i18n hreflang |
| Lightbox | ❌ | ✅ | ✅ |
Как выбирать
- Быстрый выход в воздух, сбор аудитории, продажи — в ручном режиме → Start, запуск за ~6 недель.
- Полноценный foundry-сайт с контентом и заявками на покупку, онлайн-оплата пока терпит → Standard, ~9 недель.
- Сразу всё (онлайн-продажа, две языковые версии, лаборатория) → Full, ~15 недель.
Архитектура допускает поэтапный старт: начать со Start, убедиться что работает, добавить модули из Standard/Full потом.
Точность оценок: ±20% до ответов на 04-questions.md. После ответов на 5–7 ключевых вопросов диапазон сужается до ±10%.
Что не входит ни в один пакет
- Производство контента: съёмки, 3D-рендеры, видео, фотосессии.
- Субсеттинг и сборка шрифтов в
woff2(включая trial-версии) — со стороны PlayFaces. - Написание юридических текстов (лицензии, оферта, политика) — со стороны юриста PlayFaces.
- Бренд-дизайн, рестайлинг. Работаем по готовым макетам.
- Домен, DNS, корпоративная почта, настройка Timeweb-аккаунта — под отдельный день инфраструктуры.
- Поддержка/сопровождение после запуска — под отдельный договор.