Software Engineer Intern · Apple · Mar 2026 to Present
Agentic AI for telephony at Apple
Building an AI Root Cause Analysis Engine for Apple's Global Voice Services team, using multi-agent LangGraph orchestration, guardrailed MCP servers on Kubernetes, and a PII tokenisation pipeline to cut incident triage time by ~90%.
- Python
- LangGraph
- MCP
- Kubernetes
- Redis
- Docker
- Kafka

Context
Apple's Global Voice Services (Telephony) team keeps voice infrastructure running at global scale. When a voice incident occurs, engineers historically had to triage it by hand, digging through telephony systems, correlating signals/call traces, and working out the root cause under time pressure. I joined the team in Cork to automate that.
What I built
The core of my work is an AI Root Cause Analysis Engine that automates the analysis and triage of voice incidents:
- A LangGraph state graph coordinating multiple AI agents with parallel execution, conditional routing, and retries.
- Guardrailed MCP servers deployed on Kubernetes pods, exposing telephony systems as agent-callable tools, monitored through an observability app for debugging and health.
- A PII tokenisation pipeline that sanitises sensitive data before anything reaches an LLM, with mappings stored in Redis under a TTL policy.
- Built a Kafka consumer that ingests ServiceNow incidents in real time, forwarding relevant cases to the RCA engine.
Beyond the code, I presented the project charter to senior managers and stakeholders to align on scope and delivery milestones, and collaborated with engineers across multiple time zones.
Impact
The engine reduced incident triage time by roughly 90%, turning a slow, manual investigation into an automated first pass that engineers can act on immediately.
What I learned
Resilience, mostly. Getting the application approved for production meant working through a long chain of bureaucratic processes, and the skill that actually mattered was keeping a cool head and staying fixed on the objective rather than the obstacle in front of it.
Technically, it was an education in what production really demands: the depth of security, access and authorisation control involved, and how much of it ultimately comes down to identity.
The bigger lesson was about people. The amount of unblocking I got purely from reaching out (on Slack, in person, in casual conversation with other interns) was genuinely surprising. Communication turned out to be the highest-leverage tool I had.
Related
- From @gmail.com to @apple.com: the announcement, and what getting here took.
- Mock coding interview with Patrick Anyanwu: 47 minutes of working through problems out loud, if you want to see how I think.