Иммерсивный лендинг для образовательной платформы, которая готовит специалистов в профессиях, которых ещё нет — AI-инженер, XR-разработчик, Промпт-дизайнер.
SHIFT.ED — концепт Landing Page для образовательной платформы нового поколения. Три программы:
| Профессия | Описание |
|---|---|
| AI-инженер | Проектирование и деплой AI-систем: трансформеры, LLM fine-tuning, MLOps, мультимодальные агенты |
| XR-разработчик | Пространственные интерфейсы для AR/VR/MR: WebXR, Three.js, Spatial UI, распознавание жестов |
| Промпт-дизайнер | Проектирование промптов: System Prompts, Chain-of-Thought, мультимодальные промпты, метрики |
Курс длится 16 недель, первый поток стартует в марте 2026.
- Scroll-driven Hero — заголовок
SHIFT.EDрастягивается и сжимается при скролле черезmotion/reactuseScroll+useTransform; glow-pulse в фоне; SCROLL-индикатор исчезает при движении - Cursor Trail — canvas-based шлейф из маджента-частиц, следующий за курсором (отключается на тач-устройствах и при
prefers-reduced-motion) - Flashlight Reveal — скрытый манифест, открываемый курсором-«фонариком» через CSS
mask-image: radial-gradient(); на мобильном — тап раскрывает текст анимированным расширяющимся кругом от точки касания - Staggered scroll reveal — карточки курсов и CTA появляются через
whileInViewс задержкой
Секция «Разблокируй программу» — полноценная drag-and-drop игра в редакторе кода:
- 6 Python-блоков кода в перемешанном порядке
- Desktop: HTML5 drag-and-drop
- Mobile: tap-to-swap (два тапа меняют блоки местами)
- Прогресс-бар показывает количество правильно расставленных блоков
- При победе — анимированное раскрытие программы курса (4 модуля, 16 недель)
- Floating pill navbar с backdrop-blur при скролле
- Мобильный гамбургер: анимированный X-крест через
motion, полноэкранный оверлей сAnimatePresence
- Server Components по умолчанию —
course-cards,footerостаются серверными - Client Components только где нужна интерактивность (
"use client"на 4 компонентах) - SSR-безопасная гидратация —
CodeGameоткладываетMath.random()вuseEffect - Шрифты через
next/font/googleсdisplay: swap
| Технология | Версия | Применение |
|---|---|---|
| Next.js | 16.1.6 | App Router, Static Generation |
| React | 19.2 | UI, Server Components |
| Tailwind CSS | 4 | Утилити-классы, кастомные CSS-переменные |
| motion | latest | Scroll animations, gestures, AnimatePresence |
| TypeScript | 5 | Типизация |
shift.ed/
├── app/
│ ├── globals.css # Design tokens (CSS vars), keyframes, bg-grid
│ ├── layout.tsx # Шрифты (Syncopate, Inter, Space Mono), metadata
│ └── page.tsx # Сборка секций
├── components/
│ ├── navbar.tsx # Floating nav + mobile menu (client)
│ ├── hero-section.tsx # Scroll-driven kinetic title (client)
│ ├── cursor-trail.tsx # Canvas cursor trail (client)
│ ├── flashlight-reveal.tsx # Flashlight / tap reveal (client)
│ ├── course-cards.tsx # 3 course cards with scroll reveal (client)
│ ├── code-game.tsx # Drag-and-drop code mini-game (client)
│ └── footer.tsx # CTA + links (client)
npm install
npm run devОткрыть http://localhost:3000
npm run build # production build
npm start # production server