Frontend Developer
Вы будете развивать интерфейс EasyTalk Academy: лендинг, авторизацию, личный кабинет и Practice Lab на Nuxt 4, Vue 3, TypeScript и Nitro на Cloudflare Pages.
О компании
EasyTalk Academy — онлайн-платформа для практического английского: разговорная речь, слушание, понимание и письмо в коротких сессиях EasyTalk Practice. Тематические слова, квизы и интерактивные упражнения (match-pairs, cloze, word-order, listen-pick). Прогресс и mastery в кабинете: streak, статистика по активностям и подписка на самостоятельную практику.
Что будет в работе
- Responsive, mobile-first интерфейсы на Vue 3 (Composition API, composables) — кастомный CSS с design tokens.
- SSR и SEO: семантический HTML, useSeoMeta, canonical, i18n через @nuxtjs/i18n (uk, en, ru, es).
- Practice Lab: игровые упражнения (drag-and-drop, аудио, таймеры, mastery на первую попытку), JSON-контент.
- Интеграция с Nitro API: auth (email/password, Google OAuth), персональные данные и прогресс практики.
- Доступность: keyboard navigation, :focus-visible, prefers-reduced-motion, WCAG AA, touch targets 44×44.
- Производительность на edge: лёгкий JS, transform/opacity-анимации, оптимизация для Cloudflare Pages.
- Code review, документация и улучшение frontend-архитектуры.
Требования
Обязательно
- Опыт frontend: Vue 3 и Nuxt 3/4 (Nuxt — предпочтительно).
- TypeScript, HTML5, CSS3 (flex/grid, custom properties); mobile-first responsive design.
- SSR и деплой на edge (Nitro, Cloudflare Pages или аналоги).
- Интеграция с REST/API: формы, auth, обработка ошибок, состояние пользователя.
- Git, code review, понимание CI/CD.
- Доступность и SEO как часть разработки.
- Коммуникация в remote, работа с product/design.
Желательно
- @nuxtjs/i18n или аналогичные i18n-решения.
- PostgreSQL + Prisma (Neon serverless).
- Edge constraints: HTTP API для email на Workers (Resend).
- EdTech, language learning, gamification, progress tracking.
- Контент-driven архитектура: JSON, build-time content generation.
CS/Engineering или эквивалентный практический опыт.
Стек
Frontend
- Nuxt 4
- Vue 3
- TypeScript
- Vue Router
Стили
- Custom CSS
- Mobile-first
i18n
- @nuxtjs/i18n
Backend (monorepo)
- Nitro
- H3
Deploy
- Cloudflare Pages
Данные
- PostgreSQL (Neon)
- Prisma
Auth
- jose
- bcryptjs
- Google OAuth
Контент
- JSON (content/)
- npm scripts