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