The role
You will own features end to end: the schema, the service, the failure modes and the interface. Much of the work sits behind a conversational product, with client state, realtime protocols, durable scheduling, and a runtime that stays dependable when networks and model providers fail. Calling a language model is the easy part. Making it reliable is the job.
What you will do
- Design and build features across the stack, from schema to interface.
- Make systems survive real conditions: reconnection, retries, partial failure and recovery.
- Choose the data structures and interfaces that keep the next change cheap.
- Write focused tests for the behaviour that matters.
- Ship to real users on a short loop and act on what comes back.
- Explain your decisions, your trade-offs, and the scope you left out.
What we look for
We care less about years of experience than about evidence: what you have shipped, the complexity you handled, and how you decide.
- You have shipped something real and can explain every part of it.
- Strong fundamentals in data modelling, concurrency and failure handling.
- Comfortable across the stack, even if you are stronger on one side.
- You reach for the simplest thing that works.
- You write clearly. Most engineering disagreements get resolved in writing.
- You handle ambiguity by making a reasonable assumption, writing it down, and continuing.
The rubric
Every submission is scored on the same public scorecard, whatever stack you choose: core correctness, architecture, coding patterns, failure handling, testing and communication. You can read it before you start.
How we hire
- The challenge · Fork the public repo, choose one of five focused problems, and spend roughly 6 to 8 hours on it.
- Technical conversation · We walk through your submission together: the architecture, the failure cases you handled, and one trade-off you made.
- Team conversation · How you work, what you want to build next, and whatever you want to ask us. Both sides decide.
Skills
- TypeScript
- React
- Next.js
- React Native
- Postgres
- Realtime
- Durable workflows
- Testing