← Careers at Charly

AI / ML

Voice

PyTorch

Machine Learning Engineer (Voice) (m/f/d)

Berlin, Germany

Full-time

Zaitgeist Innovation Group GmbH

Apply now

About the Job

Charly answers the phone for more than 100 German municipalities — around the clock, in over 30 languages, hosted in the EU. Behind it is a small team in Berlin that ships fast: around 150 pull requests land in our repositories every month, and a good idea often talks to real citizens the same week. On the phone, the speech layer decides everything: does Charly catch a street name spoken in dialect, does the answer sound natural, does Charly avoid talking over people? We are now building this layer ourselves — with open models, on our own GPUs in Germany. That's where you come in.

Your Role

Speech-to-text and text-to-speech for real phone calls: noisy lines, dialects, names, street names and dictated numbers

Select open STT and TTS models, fine-tune them on our domain with PyTorch and measure them properly against the baseline

Serve models in production on our own GPUs in the EU: streaming, batching, quantisation, latency budgets and cost per call

Build the voice agent's orchestration layer: turn-taking, barge-in, tool calls and the hand-over to our LLM agent (Python, FastAPI, pydantic-ai)

Evals that gate releases: word error rate on anonymised calls, pronunciation and naturalness tests, end-to-end conversation evals — wired into CI

Monitor quality in production and close the loop: from a failed call to a test case and to better training data

Your Profile

We welcome experienced candidates with several years of work on ML systems just as much as career starters who have mostly worked in notebooks so far

Good PyTorch skills, ideally with hands-on experience fine-tuning speech or audio models

Ideally experience with STT and/or TTS, e.g. Whisper-family models or modern neural TTS

Experience with serving (GPU inference, streaming, quantisation, latency under load) is a plus — otherwise you will learn it with us

A strong quality mindset: you don't ship without an eval, you distrust single examples, and you build benchmarks that predict real-world quality

Solid Python engineering: types, tests, clean interfaces

You use AI coding assistants every day and move fast without putting production at risk

Nice-to-have: real-time voice (telephony/SIP, VAD, barge-in), privacy-preserving ML, German language skills

What We Offer

Competitive salary

Real ownership: your models talk to citizens on live phone lines within your first month

Our own GPU infrastructure in the EU and room to experiment

A beautiful and central office right at Rosenthaler Platz

28 days of vacation per year

Our Application Process

1

Application to info@zaitgeist.com

2

Short phone screen

3

On-site interview

Tech Stack

Backend

Python

FastAPI

PostgreSQL

Supabase

Frontend

React

TypeScript

Next.js

Tailwind

Cloud

EU hosting

Docker

Coolify

Logfire

AI / ML

pydantic-ai

PyTorch

vLLM

pgvector

Ready for the next step?

We look forward to meeting you. Send us your application with your CV and relevant projects or code samples.

Important note on your application:

To filter out AI-generated applications, please start your cover letter or message with „Hallo Zaitgeist-Team“.

Apply now

Machine Learning Engineer (Voice) (m/f/d) | Charly