Frontend Product Engineer (React + TypeScript)

FreshaWarsawJob.bopublished 01/08/2024
Must-have:TypeScriptJavaScriptRustRubyCSSReactNode.jsGraphQLGitAWSDockerKubernetesCloudFrontendBackendMobileDevOpsCI/CDAIFinTechHealthTechSecuritySenior

Location: Warsaw, Poland - Onsite (4 days/week) Contract: B2B · 25-40 k PLN net / month + RSUs

Why Fresha & Why Now?

Fresha is re-imagining how the global beauty and wellness industry runs. 120k+ businesses, 450k+ professionals, millions of clients, and 1 billion+ appointments already rely on our platform for everything from bookings to payments.

Join us at a moment of rapid scale - your work will surface on screens around the world within days, not quarters.

What You’ll Do

At Fresha, we believe AI is a force multiplier for feature delivery, not just a coding assistant. We provide every engineer with top-tier tooling (Claude, GitHub Copilot, Cursor) to strip away technical toil—so you can focus your energy on shipping high-impact product features. We value engineers who know how to leverage these tools to drive momentum within our 6-week cycles, accelerating the journey from concept to code while maintaining the deep technical judgment to verify, secure, and own the final user experience. 

  • Own and evolve our core booking & scheduling engine - the heartbeat of Fresha - ensuring it scales smoothly and delivers seamless experiences for millions.
  • Design, build, and ship new user-facing features in React + TypeScript, reaching millions of professionals and clients.
  • Own features end-to-end: discovery, technical design, implementation, testing, rollout, and observability.
  • Tap into (and extend) our Design System to ship polished UI quickly while raising the bar for consistency.
  • Write robust automated tests (Cypress, Jest, React Testing Library) and keep the CI/CD pipeline green.
  • Partner closely with Product, Design, Backend, Infrastructure, and Mobile engineers to take features from discovery to rollout and beyond.
  • Accelerate with AI: harness AI agents, LLM-powered coding tools, and access to a wide range of AI tools (e.g., chatbots, dev assistants).
  • Curious about backend, DevOps, or mobile? Great - we’ll support you in exploring any part of the stack.

What We’re Looking For AI-Augmented Workflow: You have deep experience building and interacting with AI agents, using them to amplify your output to 5x that of manual coding. You are able to integrate agents into our workflow while strictly adhering to our architecture and security standards, taking full accountability for ensuring all generated code meets the quality expectations of a Senior Engineer.

Deep expertise in modern React & TypeScript , with a track record of shipping large-scale, consumer-facing web apps.

Solid grasp of GraphQL (Apollo or urql) and REST fundamentals.

Experience working with design systems .

Fluency in web performance, cross-browser, and responsive design best practices.

A testing mindset and familiarity with JS/TS testing frameworks.

Don’t meet every single requirement? Passion and potential matter more than perfect check-boxes. If this role excites you, apply today and grow with us!

Why You’ll Love It Here Direct impact & ownership - your decisions shape the product.

Modern tech stack, continuous learning, and innovation.

Competitive salary, equity, private healthcare, and more.

Our Technology Stack - Frontend Technologies React - Modern JavaScript UI library

TypeScript - Strongly typed JavaScript

React Router DOM - Client-side routing

React Redux - State management

Zustand - Lightweight state management

Formik - Form management

Build Tools & Bundlers Rsbuild - Modern build tool (Rspack-based)

esbuild - Fast JavaScript bundler

Turbo - High-performance build system

SWC - Rust-based JavaScript compiler

UI & Design System Fresha Design System - Custom design system

Sass/SCSS - CSS preprocessor

PostCSS - CSS transformation

Lottie - Animations

State Management & Data Fetching Redux with Redux Actions

URQL - GraphQL client

Backend Communication GraphQL - API query language

GraphQL Code Generator - Type-safe GraphQL

Phoenix - Real-time WebSocket channels

WebSocket & Server-Sent Events support

Backend Technologies Node.js

TypeScript

Elixir

Ruby on Rails

PostgreSQL

Redis

Docker

Kubernetes

NginxAWS

Testing Framework Jest - Unit testing

Cypress - Component and integration testing

Testing Library - React testing utilities

MSW - API mocking

Code Quality & Linting ESLint - JavaScript linting

TypeScript strict mode

Development Tools Storybook - Component documentation

Happo - Visual regression testing

Mobile Development Capacitor - Native mobile app wrapper

iOS & Android - Native mobile platforms

CI/CD & DevOps GitHub Actions - Continuous integration

AWS - Cloud infrastructure

Datadog - Monitoring and analytics

Monitoring & Analytics Sentry - Error tracking

Amplitude - User analytics

Unleash - Feature flags

Date & Time date-fns - Date manipulation

moment - Date handling (legacy)

Interview Process Screen call - Video call with a member from the Talent Team - 30 - 60 minutes

1st stage - Technical Video call/In-person interview with our Engineers- Up to 90 minutes

Tech stage - Technical Video call/In-person interview with our Engineers - up to 2 hours

Final stage - Video call/In person meet with our CTO - up to 60 minutes

We aim to finalise the entire interview process and deliver feedback within 4 weeks.

Every job application received is reviewed manually by our talent team. While we strive to assess applications within 7 days, the sheer volume of talented individuals expressing interest may occasionally extend this timeframe