Role overview
Own the shared AI systems layer used by multiple products, shaping how tools, memory, retrieval, and multi-step reasoning work together at runtime. The role also sets durable patterns for model-provider changes and evaluation, keeping the architecture reliable as more teams and products build on it.
Responsibilities
- Design and maintain the orchestration runtime that combines tools, memory, retrieval, and reasoning.
- Create a provider interface that supports model changes or mixed-provider strategies without requiring product-level rewrites.
- Own shared evaluations, including reference data, regression checks, and drift detection.
- Define reusable engineering patterns and decide when engagement-specific pipelines should become shared infrastructure.
- Review architecture choices across projects and keep them aligned as they scale.
- Maintain production observability and turn system contracts into clear interfaces for downstream teams.
Requirements
- Experience building AI systems and production infrastructure used by multiple products or teams.
- Strong software engineering discipline, including typed, production-grade implementation; Next.js and Convex or equivalent experience is relevant.
- Experience designing abstractions that remain useful through framework or provider changes.
- Ability to set technical direction and build infrastructure other engineers can adopt independently.
- Practical evaluation experience, with tests that catch regressions and inform release decisions.
- English fluency for engineering collaboration and written review.
Nice to have
- Experience working where AI outputs require evidence or traceability, such as regulated or high-stakes settings.
- Experience keeping prompts and evaluations versioned and reviewed in source control.
Benefits and work setup
- Remote role for an EU-based team, with at least four hours of overlap with CET on working days; a Portugal hub is noted.
- Available as contract or full-time, with start timing coordinated at offer stage.