Satalia

React Front End Developer - Contract 3 months UK

London, GB · Posted 2h ago

salary not listedseniorcontract
ReactTypeScriptPythonFastAPI

Job Description

React Front End Developer

Role type: Contract Location: UK

Duration: 3 months

React Front End Developer required to join our Satalia team in UK

As an organisation, we push the boundaries of data science, optimisation and artificial intelligence to solve the most complex problems in the industry. Satalia, a WPP company is a community of individuals devoted to working on diverse and challenging projects, allowing you to flex your technical skills whilst working with a tight-knit team of high performing colleagues.

Led by our founder and WPP Chief AI Officer Daniel Hulme, Satalia's ambition is to become a decentralised organisation of the future. Today, this involves developing tools and processes to liberate and automate manual repetitive tasks, with a focus on freedom, transparency and trust. At the core of our thinking is an approach to wellbeing and inclusivity. We unpack human behaviour and unpick prejudice to ensure a safe and inviting environment. We offer truly flexible working and allow our employees to find the working practice that makes them most productive. At Satalia, your opinion matters and your achievements are celebrated.

What you'll be doing

Solve is a shared visual workspace where people and AI agents work on the same problem together. People define the problem, bring the context and steer the work. Agents research, plan and deliver. The work and the reasoning behind it stay on the board, visible to everyone.

The board is a real-time collaborative canvas, and it is the product. We are hiring a senior frontend engineer to build it with us. This is hands-on work on hard, concrete frontend problems: direct manipulation, streaming AI output, and several people editing the same board at once. Not a chat window around an API.

You will spend most of your time shipping code in the canvas and collaboration layer, working closely with the technical lead, who sets direction. We want your advice on how things should be built, and we will take it. We are not asking you to run a roadmap or a team.

Small senior team: technical lead, architect, QA, and you. Internal alpha today, funded, with a path to becoming its own venture. React and TypeScript frontend, Python and FastAPI behind it. Agents do a lot of the delivery work; people own the judgement. We prototype to learn, keep systems simple and legible, and treat specs, designs and tests as part of the product.

The project is a real-time collaborative canvas, and it is the product. We are hiring a senior frontend engineer to build it with us. This is hands-on work on hard, concrete frontend problems: direct manipulation, streaming AI output, and several people editing the same board at once. Not a chat window around an API.

You will work on:

  • The canvas: pan, zoom, drag, selection, spatial layout, rich interactive cards, and keeping all of it fast with hundreds of cards live.

  • Frontend state across transient interaction, persistent product state and server-authoritative data.

  • Real-time collaboration: presence, optimistic updates, reconnects, missed-event recovery and conflict handling.

  • Real-time event handling: the canvas event stream runs on Server-Sent Events today (EventSource, heartbeats, token-authenticated streams, backoff reconnects). You will own the client side of it, and help decide where WebSockets would earn their place.

  • AI-facing surfaces: streaming output, agent status, partial results, approvals and recovery.

  • Performance, accessibility and test strategy for all of the above.


Your first body of work is already defined. Two or more people, and the agents working for them, edit the same canvas at once and nobody loses work. No fork banner, no silent drop, no whole-board repaint. The design is decided and about 40% of the cards are done. What remains is the client side of it: the per-entity patch wire over the SSE stream, optimistic apply with resync on a missed event, the pending-edits queue that survives a reload, and closing out the remaining data-loss defects on the load, save-conflict and live-update paths. The interview questions come from this work.

What we want from you

We are not looking for someone who ticks every box. We are looking for someone who understands the core technology well, and who we would enjoy working with. In order of weight:

  1. Deep React (or equivalent) and browser-state expertise. This is the gate. You can explain how you reason about state ownership, rendering and browser performance, component decomposition, and interactions that fail part way through. You diagnose before you prescribe.

  1. You have built a complex interactive product. A canvas, editor, map, design tool, whiteboard or collaborative app, and you can connect the technical decisions to what users did as a result. You understand that collaborative software needs explicit rules for authority and conflict. You have shipped real-time event handling over WebSockets or Server-Sent Events, and can explain ordering, reconnects and missed-event recovery on an unreliable connection.

  1. AI-native curiosity. You use coding agents seriously, know where they help and where they bite, and you are interested in the frontend problems AI products create: streaming, long-running work, trust and control. This is the one area where curiosity substitutes for experience.

  1. You are comfortable across the API boundary: you can design a request and response shape with the backend, reason about idempotency and optimistic concurrency, and decide which side owns a given piece of state.

Monorepos, CI, quality gates, feature flags and design systems are useful supporting evidence. They are not the centre of this role.


Satalia is home to some of the brightest minds in AI and if you're looking to join a company who not only values autonomy and freedom, but embraces a culture of inclusion and warmth, we'd love to hear from you.

We aim to respond to all applications within 2 weeks. If you have not heard from us within 2 weeks this means your application has been unsuccessful.

By applying to Satalia you are expressly giving your consent for the collection and use of your information as described within our Satalia Recruitment Privacy Policy.

Good luck!