01
About the role
Kursol builds custom AI systems for business operations: document extraction, retrieval, classification, assistants with tool use, and internal tools. Typical delivery is about six weeks. The team is small and remote, with offices in Sydney, Austin, Los Angeles, and Paris.
This role owns the ML in those systems. You take a production problem, decide whether the answer is a hosted LLM, a fine-tuned model, a classical model, or no model, then train or integrate it, evaluate it, ship it, and operate it in production.
You are not training foundation models. Most of the work is applied: datasets, evals, integration, and the judgment of when an API is good enough versus when you need to train something.
02
Responsibilities
- Frame the ML problem with the client and the rest of the engineering team: inputs, outputs, constraints (latency, cost, accuracy), and what good means.
- Design and ship systems for retrieval, extraction, classification, ranking, and tool-calling agents. Use classical ML when it beats an LLM.
- Build offline evaluation sets and harnesses. Measure quality, latency, and cost before anything reaches production.
- Train, fine-tune, or distill models when a hosted API is the wrong fit. Otherwise integrate existing models.
- Integrate models into production services in Python, and enough JavaScript or TypeScript to work with the rest of the stack.
- Own production quality after launch: monitoring, failure analysis, regression tests, and the next iteration.
- Sequence and ship work on roughly six-week cycles.
03
Minimum qualifications
- 3+ years shipping ML systems in production.
- Strong Python.
- Comfortable reading and writing JavaScript or TypeScript.
- Experience with PyTorch, scikit-learn, or an equivalent training and evaluation stack.
- Experience evaluating model quality (accuracy, precision/recall, hallucination, latency, cost) and changing the system based on the results.
- Able to overlap some working hours with Sydney, Austin, or Los Angeles.
04
Preferred qualifications
- Production LLM systems: retrieval-augmented generation, tool calling, structured extraction, evaluation harnesses.
- Fine-tuning or distillation.
- Monitoring and incident response for model-backed products.
- Working with non-engineers to turn an operations problem into a spec and a dataset.
05
How to apply
Email hello@kursol.io with the subject “Application: Machine Learning Engineer”. Include:
- A CV, Hugging Face profile, Github, and/or a LinkedIn profile.
- Two or three systems you shipped. Links if they are public, otherwise a short write-up covering the problem, the approach, the metrics, and what happened in production.
Kursol