Python Django Developer for StartUp Running/Hyrox App
Presupuesto: $15.0 - $35.0
HOURLY / FULL_TIME
⭐ 5.00 (24)
United Kingdom
git, python, django-framework, postgresql, javascript
Cualificaciones preferidas
- Experiencia: Intermedio
# Senior Product Engineer — Python/Django + React Native
MaxMile is a live running-coaching platform on the App Store and Google Play, with paying athletes using it every day.
It builds individualised training plans, adapts them around training feedback, injuries, illness and availability, connects to wearables, predicts race performance, manages strength training and gives athletes an AI coaching interface around the whole thing.
The product works. It is also now far too large and important for me to continue acting as its de facto engineering team with Claude, Codex and Cursor.
I need an experienced human engineer to take real ownership of it.
## WHAT I NEED
This is not a greenfield build and it is not primarily an "AI developer" job.
I need somebody who can come into a large existing product, understand how it works, and steadily make it better.
Some days that might mean fixing a subtle planning-engine bug affecting marathon progression.
Another day it might mean discovering that an athlete setting is triggering the wrong regeneration behaviour.
Another might be improving an illness workflow, fixing a wearable sync edge case, polishing a strength-training screen, simplifying a piece of architecture that has grown unnecessarily complicated, or tracing a bug across the Django API and React Native app.
There is a lot here that already works well. There are also places where I have spent far too long wrestling with the product through AI coding agents to make something behave the way I actually want it to behave.
I don't want to do that anymore.
I want an experienced engineer who can take a requirement from me, investigate the existing implementation, work out the right solution and ship it.
More importantly, I want someone who will occasionally tell me:
**"Don't patch that. This is the underlying problem. Give me a day and I'll fix it properly."**
## THE PRODUCT
The backend is primarily Django/PostgreSQL/Celery/Redis running on Railway.
The mobile app is React Native and ships on iOS and Android.
The coaching system itself is substantial. It includes deterministic season and block planners, weekly scheduling, athlete classification, workout selection, a large workout library, training-load rules, race prediction, adaptive thresholds, injuries/illness/availability handling, plan regeneration, wearable delivery and multiple QA/validation layers.
Historically some plan-authoring decisions were made by LLMs. We have deliberately moved executable training prescription towards deterministic systems: the software should decide what the athlete actually runs from explicit coaching rules, while AI is primarily used around explanation and interaction.
You do **not** need to arrive knowing running coaching. I own the methodology and can explain exactly how the product should behave.
You need to be able to turn that into good software.
## THE CODEBASE
This is a large, load-bearing production codebase with a substantial automated test suite and years of accumulated behaviour.
A very large proportion of it was produced by AI coding agents under my direction.
That is worth stating plainly.
The upside is that there is extensive test coverage, documentation and defensive handling in many areas.
The downside is exactly what you would expect: some parts are more complicated than they need to be, abstractions have accumulated, locally sensible fixes have occasionally produced globally strange architecture, and you will absolutely find code you would not have written yourself.
I am specifically hiring a human engineer because I now need the judgement that AI-assisted development does not reliably provide.
I do not need someone who blindly continues the existing patterns.
I need someone capable of understanding them and deciding when to preserve, simplify, refactor or remove them.
You will have considerable engineering authority.
I decide what constitutes good coaching behaviour. You should own how we build it.
## WHAT YOU'LL ACTUALLY DO
Typical work will include:
- Diagnose production behaviour from symptoms rather than waiting for a perfectly specified ticket.
- Fix bugs across Django, asynchronous jobs, APIs and the mobile app.
- Take product requests from rough founder-language through to production implementation.
- Improve existing workflows and UX rather than constantly building new systems.
- Work on the deterministic coaching/planning engine and extend its behaviour safely.
- Simplify areas where repeated patches have made the architecture harder than the underlying problem.
- Trace behaviour across planning, athlete state, Celery tasks, database state, API responses and the app.
- Add or improve tests around changes where they genuinely protect behaviour.
- Review existing tests critically rather than assuming a green test suite automatically means the product is correct.
- Improve observability and make production problems easier to diagnose.
- Occasionally tell me that the feature or implementation I am asking for is the wrong solution.
There will still be significant work on the training-plan engine, but I am **not** hiring somebody solely to develop a constraint scheduler.
I am hiring someone to help me finish and professionalise the product as a whole.
## YOU SHOULD APPLY IF
You are a senior engineer who is comfortable inheriting somebody else's complicated production system.
In particular:
- 5+ years building and maintaining production software.
- Strong Python and Django experience.
- Comfortable with PostgreSQL, background jobs/Celery, APIs and production debugging.
- Able to move confidently around a large unfamiliar codebase.
- Strong judgement about when to patch something and when to refactor it.
- Comfortable owning a problem rather than waiting for detailed implementation instructions.
- Good at reading existing behaviour and working backwards to the actual requirement.
- Willing to challenge technical decisions, including mine.
- Clear written English.
Experience with React Native / TypeScript is highly desirable.
You do not need to be the world's greatest mobile UI engineer, but being able to follow a feature from database to API to app without handing it to three different people would be extremely valuable.
## PARTICULARLY USEFUL EXPERIENCE
Any of the following would be useful, but none is mandatory:
- Complex rules or scheduling systems
- Consumer subscription apps
- React Native
- Health, fitness or wearable integrations
- Garmin / Apple Health / Google Health Connect / Terra-style integrations
- AI/LLM product development
- Sentry or similar production observability
- CI/CD and mobile release pipelines
- Endurance sport
## ABOUT AI DEVELOPMENT
I am not anti-AI coding. Quite the opposite: it is how MaxMile got this far.
Claude, Codex and similar tools will remain available and you are welcome to use them heavily.
What I don't want is someone whose entire development process consists of giving prompts to an agent and accepting whatever comes back.
I can already do that.
I am hiring you for the part I cannot reliably get from an agent: engineering judgement, architectural taste, debugging ability, ownership and knowing when something is actually finished.
## HOW WE'LL WORK
Initially I expect this to be hands-on.
There is no engineering team for you to manage and no Jira backlog full of beautifully written tickets.
You'll work closely with me. I will explain what athletes are experiencing or what I want the product to do; you'll investigate it, ask whatever domain questions matter, and take responsibility for the implementation.
Over time I would like you to become the person who knows the technical side of MaxMile better than I do.
Fully remote.
UK/European working hours are easiest, although I care more about good communication and useful overlap than location.
Initially around 10-15 hours per week via Upwork, with the potential to grow substantially if we work well together.
Start as soon as practical.
## TO APPLY
Please don't send me a generic application.
Tell me:
1. **Tell me about a messy or complicated production system you inherited.** What was wrong with it, how did you get your head around it, and what did you change?
2. **What is your reaction to inheriting a codebase largely produced through AI coding agents?** I genuinely want your opinion, not the answer you think I want to hear.
3. **Give me an example of a time you chose to refactor or remove something rather than keep patching it.** Why?
4. **How strong are you personally with Python/Django and React Native/TypeScript?** Be specific about what you have actually shipped.
5. **What is your hourly rate and realistic weekly availability?**
Applications that don't answer those questions won't be considered.
There will be a paid trial before we commit to anything long-term.
Abrir en Upwork
AI proposal draft
Generate a short cover letter for this job. Edit before sending.
Sign in to generate an AI proposal draft.
Entrar