О проекте
Высоконагруженная платформа на Next.js: собственный UI-кит, большое количество интеграций с внешними сервисами. Используем AI и внутри продукта (генерация контента и изображений), и в самом процессе разработки.
Детали продукта обсуждаем на собеседовании — проект под NDA.
Стек
•Next.js 15/16 (App Router, RSC, Turbopack), React 19, TypeScript 5 (strict)
•TanStack Query / Table / Virtual, TanStack Form + Zod, Zustand, axios
•Radix UI + shadcn/ui, Tailwind CSS 4, дизайн-токены на OkLch (light/dark, мультипалитра)
•NextAuth / Auth.js, i18next
•Собственный UI-кит: версионируемые npm-пакеты, pnpm + turbo, tsup, changesets, границы слоёв через dependency-cruiser
•Тесты: Vitest + Testing Library, MSW, Playwright (сценарии, a11y, визуальные регрессии)
•pnpm, Docker, CI/CD
Что предстоит делать
•Разрабатывать фичи на фронте целиком: от разбора API-контракта до экрана в проде
•Развивать общий UI-кит: выносить повторяющееся из приложений в пакеты, держать обратную совместимость и версионирование
•Держать качество типизации и границы слоёв
•Работать с большими объёмами данных в UI: виртуализованные таблицы и списки, серверная пагинация, фильтры, выгрузки
•Тематизация и адаптив: тёмная тема, мобильные раскладки, доступность
•Встраивать AI-функции в интерфейс (генерация текста и изображений)
•Покрывать свой код тестами
•Участвовать в код-ревью, поддерживать деплой-дисциплину
Что мы ждём
•Уверенный TypeScript: строгий режим, дженерики, вывод типов из схем (zod, OpenAPI); any — осознанное исключение, а не способ закрыть ошибку
•Коммерческий опыт с Next.js App Router: граница сервер/клиент, где живут данные, осмысленное "use client"
•React 19: хуки, контексты, мемоизация по делу, формы и фокус
•TanStack Query как слой данных: ключи, инвалидация, пагинация, оптимистичные обновления
•Формы и валидация: TanStack Form (или React Hook Form) + zod
•Tailwind и работа с чужим дизайн-китом: вёрстка через токены, адаптив, тёмная тема, доступность (клавиатура, фокус, aria)
•Тесты своими руками: unit на Vitest + RTL, моки сети на MSW, сценарии в Playwright
•Git-флоу: ветка → merge request → зелёный CI → ревью → мерж; работа по Kanban; умение прочитать красный пайплайн и починить его самому
•Docker, CI/CD, опыт работы в мультисервисной среде
•Самостоятельность: довести задачу до прода и проверить результат
Будет плюсом
•Поддержка библиотеки компонентов как npm-пакета: версионирование, peer-зависимости, обратная совместимость
•Понимание бандлинга: ESM, tree-shaking, "use client" в собираемых пакетах
•Перформанс: Core Web Vitals, бюджеты бандла, виртуализация, отложенная загрузка
•SEO в App Router: метаданные, sitemap/robots, канонические URL, структурированные данные
•Дизайн-токены, темизация, контраст и доступность
•Генерация типов из OpenAPI, i18n, визуальное регрессионное тестирование
Про AI (важно для нас)
•Свободно используешь современные AI-инструменты — Claude Code / Cursor / Copilot и подобные
•Понимаешь, как LLM встраивается в продукт: промптинг, выбор моделей, генерация текста и изображений, оценка и контроль качества вывода
•Опыт AI-фич на фронте (генерация, агенты, RAG, стриминг) — большой плюс
Условия
•Формат: удалёнка
•Занятость: фуллтайм
•Уровень: Junior+/Middle
•Оплата: договорная
•Локация: РБ/EU