Data Scientist (ML + LLM Systems)
Intempt runs 9 AI agents that make real decisions for marketers every day. Not demos. Production. Real customer data.
Core Platform. Remote. Full-time. 3+ years.
About the role
Intempt runs 9 AI agents that make real decisions for marketers every day - segmenting audiences, scoring leads, predicting churn, optimizing journeys, generating content. Not demos. Production. Real customer data. Real consequences.
The brain behind Intempt's agents is a 3-stage LLM pipeline (Think, Plan, Execute) with 63+ tool-calling functions, streaming responses, and a plan-gate that asks users before side effects. Underneath that lives classical ML - Flink streaming pipelines for RFM scoring, likelihood regression, and next-best-action models running on 350M+ events/month. Plus a 17-algorithm recommendation engine backed by Neo4j graph algorithms and CLIP/SentenceTransformer embeddings.
You'll work across all of it. One day you're optimizing the Opus-to-Haiku routing logic to cut cost per turn. The next you're tuning the Flink scoring pipeline that feeds signals into the agents. If you've only fine-tuned models on clean HuggingFace datasets or only done prompt engineering, this will stretch you. We need someone who thinks in both worlds.
What you'll own
- Agent LLM orchestration - model routing across Opus/Sonnet/Haiku, tool-calling patterns, context management, cost-per-turn optimization, streaming pipeline tuning
- Classical ML models: RFM/FA scoring (Jenks natural breaks), likelihood regression, churn prediction, next-best-action - all on Flink
- The recommendation engine - 17 algorithms spanning cart-based, popularity, affinity, and similarity approaches, running on Neo4j
- Embedding pipelines - CLIP (512-dim) for image/text similarity, SentenceTransformer for knowledge and snippet vectorization
- Eval frameworks for non-deterministic agent outputs - you define what 'good' looks like when the answer changes every time
- A/B testing and causal inference to prove models move revenue, not just improve AUC
- Model cost tracking - every inference has a dollar cost. You own the margin.
You are
- 3+ years building production ML systems - deployed models serving real users, not research papers
- Hands-on with LLM application development - you've built tool-calling agents, RAG pipelines, or multi-model orchestration
- Strong in Python, comfortable reading Java - platform services are JVM, ML layer is Python
- Experienced with streaming data and real-time feature engineering (Flink, Kafka, or similar)
- Familiar with graph-based ML and recommendation systems - bonus if you've worked with Neo4j
- Someone who obsesses over cost-per-inference as much as accuracy - running Opus on every turn isn't an option
- Able to explain a model's decision to a marketer who's never heard of a confusion matrix
Tech stack
- Python
- Java 21
- Claude API (Opus / Sonnet / Haiku)
- Apache Flink
- Kafka
- ClickHouse
- Neo4j
- PostgreSQL
- CLIP / SentenceTransformer
- Deepgram Nova-3
- fal.ai / Kling v3
- PyTorch
- scikit-learn
Not a fit if
- You've only done prompt engineering or only done classical ML - we need both in one person
- You think shipping a Jupyter notebook to production is acceptable
- You can't reason about inference cost alongside model quality
To apply, email us your resume.
Senior Platform Engineer (Java & Python)
Intempt processes 350M+ events/month across a unified Customer Data Platform, analytics, and ML stack. Make it bulletproof at scale.
Site Reliability Engineer
You own production health: the single point of accountability for whether the system is up, fast, and secure.
