Trust Me Bro (TotallyRealPeople): an AI reference that can take the call

Job hunting still runs on a weird ritual. Someone asks for a manager who will vouch for you. You scramble for a name. The hiring side hopes that person picks up.

Trust Me Bro (repo: TotallyRealPeople) takes that ritual and builds an honest simulation of it. You upload a résumé, paste a job description, and pick a manager persona. The app builds an AI reference that can answer about you by voice, email, SMS, and text chat.

Every reference says what it is. Badge on the desk. Opening line on a call. Signature on email. First SMS in a thread. It does not verify employment. It only speaks from documents the candidate provided.

The problem we were aiming at

Reference checks are high stakes and low structure. Scheduling is slow. Answers vary by mood and memory. Candidates with thin networks get stuck even when the work on the résumé is strong.

We did not try to "solve hiring." We built a demo that makes the reference conversation inspectable. You can rehearse it. A hiring manager can probe it. Everyone can see that the voice on the line is an AI simulation.

The product loop

  1. Paste or upload a résumé (PDF text extraction is built in).
  2. Paste a job description, or use a template.
  3. Use the demo manager, Dana Okafor, an Engineering Manager persona. Tone and focus areas are editable on the create screen.
  4. Hit Build my reference. The app extracts structured facts, drafts a question bank, and opens a reference desk at /r/<id>.

On the desk you get:

  • A manager card with an AI simulation badge
  • Browser voice call (live captions, mute, barge-in)
  • Text chat against the same persona
  • An email inbox path (Agentboxd) with thread replies
  • A "what this reference knows" panel you can tune before anyone calls

Phone is optional but real in the stack. One Twilio number can answer voice and SMS as the active reference. Callers hear an AI disclosure before the persona greets them.

One prompt, every channel

The part I care about most as a builder is the instruction path.

Voice, chat, email, and phone all go through one builder: buildReferenceInstruction in web/src/lib/instruction.ts. Persona wording lives in web/prompts/referencev2.md. Candidate facts, target role, tuned answers, and hard boundaries get injected the same way for every channel.

That keeps the product honest. If Dana refuses to invent a promotion in chat, the same rule applies on a phone call. Channel-specific rules (opening disclosure, email signature, SMS prefix) sit in the prompt file and in small helpers next to the builder. They do not fork into four different personalities.

Stack

Piece Choice
App Next.js 16 + React 19 in web/
Text models Grok (default) or Gemini, switchable per reference
Voice ElevenLabs by default (Grok writes, ElevenLabs speaks), or Grok / Gemini Live
Phone Twilio Media Streams bridged in web/src/server.ts
Email Agentboxd inbox per reference
Schemas Zod
Local store JSON under web/.data/

Without API keys the app still runs in fake mode. A rule-based parser and canned answers let you walk the UI. Voice needs a real provider key.

Disclosure is a feature, not a footer

A project like this fails if it pretends to be a real person.

We put the disclosure in the product surface, not only in a README:

  • Site chrome states that every reference is an AI simulation and does not verify employment.
  • The desk shows an AI simulation badge on the manager card.
  • Phone TwiML and the live prompt open with an AI disclosure line.
  • SMS starts each conversation with an [AI reference simulation · TotallyRealPeople…] prefix.
  • Email replies keep the simulation framing from the shared prompt.

If you fork this, keep that contract. Roleplay is fine. Impersonation is not.

What works today, what is still open

Built and wired:

  • Create flow, reference desk, shared prompt builder
  • Gemini or Grok for text, ElevenLabs / Grok / Gemini for voice
  • Twilio voice + SMS webhooks with signature checks
  • Fake mode for demos without keys

Still rough or untested end to end (from our own checklist):

  • A real phone call and a real SMS on a deployed host
  • A live Agentboxd email round trip with production keys
  • Accounts, more manager templates, and a polished "my references" page

That honesty belongs in the post as much as the feature list. This is a working demo with sharp edges, not a finished SaaS.

Try it locally

Needs Node 20+.

git clone https://github.com/ranjitodedra/TotallyRealPeople.git
cd TotallyRealPeople/web
npm install
cp .env.example .env.local
npm run dev

Open http://localhost:3000, hit Use sample, pick a job template, and build a reference.

For the phone line, stop the plain Next process and run npm run dev:phone, then point Twilio webhooks at an ngrok URL. The README has the exact console settings.

Why we built it this way

Hiring tools often hide the model behind a confident UI. We flipped that. The simulation is the product. The candidate can see and edit what the reference knows. The caller is told what they are talking to. The channels share one brain so the story does not drift.

If you are building multi-channel agents, the reusable lesson is small. Put identity, facts, and boundaries in one instruction builder. Attach channel rules at the edge. Test the same refusal on chat and on voice before you trust either.

Built With

Share this project:

Updates