About this role.
Playbook is hiring a senior individual-contributor Product Engineer to build user-facing functionality across a TypeScript-based React web app, Node.js/GraphQL backend, and React Native mobile app. The role emphasizes deep expertise in one surface with practical ability to contribute to and review work across all three. Responsibilities include feature ownership, API and data-model design, ERD contributions, testing, code review, and close partnership with Product and Design. This remote role is available in Europe and operates in a fast-moving, ownership-oriented culture with asynchronous collaboration. Strong TypeScript skills, production delivery experience, English communication, and daily use of AI coding assistants are core requirements.
Role DNA
A quick view of the complexity, pace, ownership and collaboration implied by the job description.
Job Complexity
5/5Pace & Pressure
5/5Autonomy Level
5/5Communication Load
4/5Salary analysis
Estimated compensation compared with the broader US market for similar roles.
Core skills
Skills and capabilities most closely associated with this opportunity.
Cover letter sample
Dear Hiring Team,
I am excited to apply for the Senior Product Engineer role at Playbook. With deep TypeScript experience and a product-minded approach to building reliable, user-facing systems, I can contribute across React, Node.js, GraphQL, and React Native while taking clear ownership of outcomes.
I enjoy partnering closely with Product and Design to turn ambiguous customer needs into well-scoped data models, API contracts, and polished features. I would bring strong engineering judgment, clear asynchronous communication, and a practical commitment to testing, maintainability, and fast iteration.
I am especially drawn to Playbook's remote-first culture and focus on empowering creators through meaningful product work. Thank you for your consideration.
Sample interview questions
I would begin by clarifying the user outcome, edge cases, and non-functional requirements with Product and Design. Then I would define the data model and GraphQL contract, identify impacted clients and integrations, break delivery into reviewable increments, and use monitoring plus user feedback to validate the release.
I use TypeScript's generics, discriminated unions, conditional types, and branded or domain-specific types to make invalid states difficult to represent. I keep shared contracts intentional, validate untrusted runtime input, and avoid type complexity that reduces readability without providing meaningful safety.
I would design the schema around client needs while keeping resolver responsibilities narrow and predictable. I would address N+1 behavior with DataLoaders, enforce authorization at appropriate boundaries, use database indexes and query analysis for hot paths, and add tests for resolver behavior and error cases.
I would first reproduce and measure the issue using profiling and production telemetry. I would inspect render frequency, state boundaries, network behavior, list virtualization, and expensive computations, then implement the smallest high-confidence fix and verify the result with before-and-after metrics.
I use AI coding assistants to accelerate exploration, debugging, test generation, and routine implementation, but I retain responsibility for design decisions and verification. I review generated code carefully, validate behavior with tests and documentation, and avoid sharing sensitive information with tools that are not approved for it.
ABOUT US
We are Playbook, a leading creator platform for fitness, health, and wellness. Our mission is to help fitness creators build sustainable businesses, while enabling hundreds of thousands of users to live healthier lives.
We are a fast-growing company in the fitness tech space, operating as a remote-first, product-driven team that values ownership, direct communication, and a strong growth mindset. We believe in “drivers, not passengers” — everyone is encouraged to take responsibility, think proactively, and act like an owner.
ROLE OVERVIEW
We’re looking for a Senior Product Engineer (TypeScript) to join our remote engineering team. You’ll work on meaningful, user-facing product features across the stack — building reliable backend services and polished web and mobile experiences.
Our product spans three surfaces sharing one language: a ReactJS web app, a Node.js backend (GraphQL), and a React Native mobile app — TypeScript everywhere. We don’t expect you to be a deep expert in all three. We’re looking for a T-shaped engineer: deep senior expertise in one of these areas, working proficiency in the others, and genuine willingness to ship across the whole stack. Whether your strongest suit is frontend, backend, or mobile matters less than the profile itself: deep in one area, capable across all three.
You’ll collaborate closely with Product and Design to deliver solutions aligned with real customer needs. This role is best suited for a senior individual contributor who enjoys hands-on development, understands that good architecture starts with clear contracts, and thrives on solving complex problems in a fast-moving startup environment.
RESPONSIBILITIES
Design and implement new features across the stack (Node.js, ReactJS, and React Native), with a strong focus on usability, clarity, and real user value, shaping APIs and GraphQL contracts as part of the feature design process.
Spend the majority of your time in your area of deep expertise, while regularly contributing across the web app, the backend, and the mobile app — picking up features, smaller tasks, and code reviews wherever they’re needed.
Build and evolve backend services and APIs (REST and GraphQL) that power our platform. Focus on reliability, maintainability, and clean integrations with frontend applications and third-party services.
Work closely with Product Managers and Designers to translate requirements into practical, well-scoped technical solutions.
Contribute to Engineering Requirement Documents (ERDs) that define data models, API contracts, and integration points before implementation begins.
Write clean, readable, and well-tested code. Participate in code reviews and contribute to shared standards around quality, testing, and maintainability. Improve existing systems where it provides clear product or developer value.
Take responsibility for the features you build. Identify issues or gaps, propose improvements, and iterate based on feedback. You’re comfortable working with some ambiguity and adapting as requirements evolve.
Break down product requirements into data models, GraphQL types, and component structure before writing implementation code.
REQUIREMENTS
Core (everyone):
5+ years of professional software development experience with TypeScript as your primary language. Advanced TS proficiency — complex types, generics, conditional types, and using the type system to enforce contracts and model domain logic across the stack.
Proven experience shipping production applications end-to-end and owning features from design through release.
Active daily use of AI coding assistants (Claude Code, Codex, OpenCode, or similar) for development, debugging, and problem-solving. We expect engineers to leverage these tools to ship faster and work through complex problems.
Strong communication skills in English. Comfortable working in a remote, cross-timezone team and collaborating asynchronously.
Deep senior expertise in at least ONE of:
Web (ReactJS): modern frontend patterns, performance, component architecture, responsive and user-friendly interfaces with attention to detail. Familiarity with TailwindCSS or similar styling frameworks.
Backend (Node.js): GraphQL schema design, resolvers, dataloaders, and API structure for maintainability. Strong experience with relational databases (PostgreSQL preferred), including schema design, query optimization, and reasoning about data consistency and performance.
Mobile (React Native): shipping and maintaining production RN apps, native module integration, app store release cycles, mobile performance, and offline patterns.
Working proficiency in the other two — you can read, extend, and review code there today, and you’re motivated to grow toward senior level across all three. If you’ve only ever worked in one lane and want to stay there, this role isn’t a fit.
NICE TO HAVE
Experience with Node.js frameworks: Next.js, NestJS
Familiarity with Expo / EAS or native iOS/Android tooling
Familiarity with CI/CD pipelines, infrastructure as code, and improving observability and logging
Familiarity with AWS. We use services like Lambda, Step Functions, SNS/SQS, DynamoDB, and ECS — hands-on experience with some of these is a plus.
Experience building or integrating payment and subscription flows (e.g. Stripe, billing systems, in-app purchases).
Experience working in a startup or fast-growing product company.
WHAT WE OFFER
Your work will directly affect creators and users on the platform. You’ll work on features that ship quickly and matter.
We offer a wide compensation range to reflect different seniority profiles within this role, including the breadth of your cross-stack skills — engineers who are senior across multiple surfaces sit higher in the range.
Equity options
100% remote with flexible working hours and async-friendly culture. Collaboration across Europe and the US East Coast.
A collaborative team that values ownership, open communication, and autonomy over micromanagement.
Yearly team retreats focused on connection, alignment, and building strong team relationships.
Paid Time Off
Annual salary information is not provided for this position. Explore salary ranges for similar roles in our Salary Directory ›
This job listing has been manually reviewed by the Jobicy Trust & Safety Team for compliance with our posting guidelines, including verification of the company's legitimacy, accuracy of job details, clarity of remote work policy, and absence of misleading or fraudulent content.





