Back to projects
Thumbnail for Magellan

Magellan

A Map-Maker of Phone-Based AI Agents
  • AI
  • Productivity
  • Dev Tools
  • Frontend Dev
  • Backend Dev
  • Product Strategy
  • Next.js
  • React
  • Tailwind CSS
  • ShadCN
  • GPT API
  • Deepgram

We built a web app that functions as a cartographer of AI voice agents. Magellan sails the high seas of the phone network to discover and map out unknown call agents. You provide a phone number, and Magellan explores the agent and returns to you a flowchart of phone menu paths.

This was purely a backend prototype. We threw up a basic UI just to get the job done.

Home

Type in a phone number. Optionally provide a brief description of the business being called (for later organization) and optionally specify a maximum number of calls Magellan should make (to prevent runaway costs if the phone tree is extensive beyond expectation). Press submit. Feel free to repeat the form right away with a different number to parallelize mapping other phone agents.

Call Begin

A sequence of calls in progress will begin to appear, each navigating the phone tree in an incrementally different way. When each call is complete, an audio recording and transcript become available for inspection. After the first few calls, Magellan will run the transcripts through an LLM to generate a flowchart of the known phone tree paths.

Call End

The flowchart will update periodically as new calls are completed. The flowchart will display itself as complete once the LLM has deemed that all phone menu paths have been traversed or the optional max number of calls have been reached.

Technical Details

Tech Stack

  • NextJS, React, Tailwind, ShadCN (for UI)
  • Hamming.ai (for initiating calls and sending recordings)
  • Deepgram.ai (for transcribing recordings)
  • OpenAI (for directing the Hamming phone agent and building the flowchart syntax)
  • Mermaid (for turning the flowchart syntax into a visual diagram)

Algorithm

We instruct the Hamming caller through performing Depth-First Search, moving left to right through the branches (using alphabetical order of possible imagined answers to each of the phone agent’s questions). Through this approach, the system caller can move with complete efficiency through the call graph, never repeating. We use an LLM call at periodic intervals (default: every 5 calls) to evaluate the transcripts and distill them into a flowchart. When that interval passes again, the LLM updates the mermaid (flowchart) diagram with the new paths exposed in the latest transcripts. If it deems all paths traversed, the system completes.

Stack:

  • Next.js
  • React
  • Tailwind
  • ShadCN
  • Hamming.ai
  • Deepgram.ai
  • OpenAI
  • Mermaid