ProBot
Free & open source · Bring your own API key

Don't just send a resume. Send a representative.

ProBot turns your resume, LinkedIn, and portfolio into a personal AI chatbot that answers recruiters' questions - powered by your own LLM (Claude, Gemini, OpenAI & more). Self-host or use managed - your key, your call.

100% Free to UseEnvelope-encrypted keys (or self-host)

Vishal's AI Assistant

Online now · usually replies instantly

pro-bot.dev/u/vishal
What's Vishal's experience with AI and RAG?
He's an AI Software Engineer Intern at UMD building production RAG chatbots with LangChain & Pinecone, and shipped an ML phishing detector at 96% accuracy. 🎯
Is he authorized to work in the US?
ProBot is typing…
Ask anything about Vishal…

Powered by your own LLM key · encrypted or self-hosted

2 min

From resume to live bot

Any LLM

Claude, Gemini, OpenAI…

$0

Free & self-hostable

100%

Encrypted key storage

Live pipeline

Your career data in. The right answer out.

Everything you add is embedded into a private vector store. When a recruiter asks, ProBot retrieves what's relevant and replies in your voice - in real time.

Resume.pdf2 pages · parsedinLinkedInprofile pdfPortfolioprojects & linksPrivate vector storeyour knowledge, embeddedAI Assistantonline · replies instantlyHas Vishal ever led a team?Yes - he led GDSC as Lead and ranthe Community of Coders core team,mentoring 30+ student developers. 🎯Source: positions_of_responsibility · 0.91

How it works

Live in three steps. No code required.

01

Upload your career data

Drop in your resume PDF, paste your LinkedIn URL, or type a bio. Up to 5 files, any combination.

02

Plug in your own LLM

Add your API key for Claude, Gemini, OpenAI, or any supported model. ProBot indexes your data into a private vector store - your key is envelope-encrypted and never logged in plaintext.

03

Share a link or embed it

Get a personal URL and a one-line widget snippet for your portfolio, email signature, or LinkedIn.

Features

Everything your bot needs to land you the interview.

RAG-powered, never made-up

Each question is embedded and matched against the top-3 most relevant chunks of your data. If it's not in your history, the bot says so and points to you directly.

// recruiter: "Has he led a team?"

→ retrieve top-3 chunks · namespace: vishal

matched: positions_of_responsibility (0.91)

"Yes - GDSC Lead & Community of Coders core team…"

Security-hardened by default

Inherits a battle-tested defense stack: 40+ prompt-injection patterns, unicode homoglyph normalization, output sanitization, and per-bot rate limiting. Your LLM key never leaves your machine.

Identity lockPrompt protectionOutput scanningRate limiting

One-line embed widget

Drop a floating chat bubble on any site. Shadow-DOM isolated, <50KB, zero CSS conflicts.

<script src="pro-bot.dev/widget.js" data-bot-id="…"></script>

Automatic lead capture

After a few messages, the bot politely asks recruiters for their email - and notifies you, with full context.

Bring your own model

Pick Claude, Gemini, OpenAI, or Azure - whatever you prefer. Your key is envelope-encrypted on our infra or never sent at all if you self-host. Your call, your trust level.

ClaudeGeminiOpenAI

Free to Use

Free forever. Yours to run.

ProBot is fully free to use. Use the hosted version for free, or self-host your bot on your own infrastructure. No paywalls, no usage meters - you bring the LLM key, you stay in control.

  • Bring your own API key. Claude, Gemini, OpenAI & more - swap any time from config.
  • Keys stay encrypted. Envelope-encrypted at rest, decrypted in memory for one request, then discarded. Never logged in plaintext.
  • Self-host in minutes. Clone the repo, set your config, deploy anywhere.
probot.config.json
// Envelope-encrypted, never logged in plaintext
{
  "provider": "anthropic",
  "model": "claude-opus-4",
  "apiKey": "sk-ant-•••• (local only)",
  "storage": "local",
  "telemetry": false
}

Read the docs.

Full setup guide, model and API key reference, embedding the widget, and self-hosting how-tos - all in one place.