kevin zingg

The Agentic Office

A Pokemon DS-style interactive game where The Office characters are AI agents with real-world tools

Play the Game

Walk around Dunder Mifflin Scranton as a visitor. Chat with employees who are powered by AI agents, each with their own personality and real tools. Michael will send you calendar invites to management courses, Pam can send you emails, Dwight will generate quotes for paper purchases, and characters remember what you told others - creating a living, interconnected office experience.

Built in a day. Work in progress.


AI-Generated Character Sprites

All character sprites were generated using Gemini with structured JSON prompting. Starting from a Pokemon DS sprite sheet as a style reference, I prompted the model to generate 64x64 pixel art characters with specific poses.

Sprite Generation Pipeline

1
Reference
2
Prompt
3
Generate
4
Sprite Sheet

Pokemon DS Style

?

Office Character

Use Pokemon DS sprites as style reference for pixel art

Angela Martin walking animation

Angela Martin

Dwight Schrute walking animation

Dwight Schrute

Pam Beesly walking animation

Pam Beesly

Andy Bernard walking animation

Andy Bernard


Agentic Capabilities

Real Tool Integrations

  • -Calendar Invites: Michael sends real .ics calendar invites for "management training"
  • -Email: Pam can send actual emails via Resend integration
  • -PDF Generation: Dwight generates paper purchase quotes as PDFs
  • -Voice: Characters speak with ElevenLabs voice synthesis

Multi-Agent Patterns

  • -Shared Memory: Characters reference things you told other employees
  • -Visitor State: Your name, email, and conversation topics persist across chats
  • -Context Injection: Each employee knows relevant info about you

AI Voice Cloning Pipeline

Each character speaks with a cloned voice using ElevenLabs. To generate the training data, I built an automated pipeline that spun up Claude Code agents to fetch "Best of [Character]" compilation videos from YouTube, then used ML models to automatically segment and identify speakers.

Speaker Diarization

1
Raw Audio
2
Diarize
3
Identify
4
Extract

15 min "Best of Kelly Kapoor" compilation from YouTube

Voice Embedding Clusters

The ML model converts audio segments into high-dimensional embeddings, then clusters similar voices together.

embedding dim 1dim 2
SPEAKER_01SPEAKER_02Kelly

Sample Voices

Generated test phrases using the cloned voices:

Pam Beesly

"There's a lot of beauty in ordinary things. Isn't that kind of the point?"

Ryan Howard

"I'm not a temp anymore. I'm the youngest VP in company history."

Kelly Kapoor

"Oh my god I have so much to tell you. Ryan and I are totally back together."

Oscar Martinez

"Actually, I think you'll find that's not quite accurate."


Tech Stack

AI SDKElevenLabsGeminiNext.jsTypeScriptZustandResendICSReact PDFTailwind CSSPyannoteClaude Code

Gameplay

The Agentic Office gameplay