Location: Warsaw, Poland - Hybrid (4 days on-site / 1 day remote)
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