Senior Frontend Product Engineer (React + TypeScript) - B2B

Warsaw · HybridPLN 25k – PLN 40k

About this role

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 - 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

We may use artificial intelligence (AI) tools to support parts of the hiring process, such as reviewing applications, analyzing resumes, or assessing responses. These tools assist our recruitment team but do not replace human judgment. Final hiring decisions are ultimately made by humans. If you would like more information about how your data is processed, please contact us.

Company at a glance

Fresha is the world’s leading marketplace platform for the beauty, wellness, and self-care industry, trusted by millions of consumers and businesses worldwide.

For consumers, Fresha offers a seamless way to discover, book, and pay for beauty and wellness services with top local professionals. For businesses, Fresha provides an all-in-one platform that streamlines operations, from appointment management to client engagement, helping them grow effortlessly with powerful business software, integrated payments, financial services and cutting-edge technology solutions.

Fresha’s comprehensive ecosystem empowers businesses and professionals with everything they need to operate seamlessly and efficiently. From appointment bookings, point-of-sale, client management, and marketing automation to loyalty programs, inventory management, and team coordination, Fresha provides an all-in-one solution designed to drive business growth.

Fresha’s consumer marketplace helps businesses unlock their full revenue potential by maximizing online bookings and leveraging automated marketing tools. Through seamless integrations with major platforms like Instagram, Facebook, and Google, businesses can attract more clients while Fresha’s mobile apps ensure a smooth booking experience.

Today, 130,000+ businesses and 500,000+ professionals rely on Fresha, with over 1 billion appointments processed to date. Headquartered in London, United Kingdom, Fresha has a global presence with offices in New York City, Orlando, Vancouver, Madrid, Paris, Amsterdam, Warsaw, Sydney, Singapore and Dubai.

Founded2015
Team Size201-500 employees
WorkspaceHybrid
IndustrySoftware Development
Location
Warsaw, Masovian Voivodeship, Poland
Websitefresha.com
LinkedInLinkedIn

Top Benefits

  • Private healthcare
  • Equity
  • RSUs
  • Modern tech stack
  • Continuous learning

Tired of cold applications?

Sign up with Clera and we'll reach out the moment a role actually fits you — no more spraying applications into the void.

Know someone who'd be great for this?