CyberDog AI — Our Story

Inspiration

The idea for CyberDog was born from a simple but frightening statistic:

$$\text{95% of cybersecurity breaches are
caused by human error}$$

We kept asking ourselves — why do people keep clicking phishing links even after security training? The answer was clear: traditional security tools are invisible, boring, and reactive. A popup warning that says "this site may be dangerous" is easy to ignore. But what if your security system had a face? What if it felt like a friend warning you, not a machine blocking you?

That's when the idea hit us — a cybersecurity companion that lives on your desktop. Not a dashboard you open once a week. Not an email report. A real-time AI presence that watches over you like a loyal dog.

We were also inspired by the massive gap between enterprise security tools (which cost hundreds of thousands of dollars) and what small businesses and startups actually have access to. CyberDog is our attempt to democratize AI-powered security for everyone.


What We Learned

Building CyberDog taught us more than we expected:

  • Claude Vision is incredibly powerful — we were amazed that it could look at a screenshot and identify a phishing email, read the sender address, analyze the urgency language, and generate a human-friendly warning, all in under 3 seconds
  • Security is a UX problem as much as a technical one — the hardest part wasn't detecting threats, it was making alerts that employees actually read instead of dismissing
  • Real-time systems are complex — building a pipeline from OS-level screenshot capture → Claude Vision → SSE broadcast → Electron speech bubble required careful state management to avoid duplicate alerts and feedback loops
  • AI needs guardrails — our screen monitor initially flagged our own security dashboard as a threat (it saw the word "DANGER" in the live feed). We learned to build intelligent deduplication and context awareness into the prompt itself

How We Built It

CyberDog is built across three layers that work together in real time:

Architecture

  1. The Desktop Companion (Electron + Three.js) We built a transparent, always-on-top Electron window with a fully procedural 3D robot dog rendered in Three.js. The dog has idle breathing, ear twitches, blinking, tail wagging, and head tracking — all driven by procedural animation without any pre-made assets. When a threat is detected, it speaks through a speech bubble above its head.

  2. The AI Backend (Node.js + TypeScript + Claude) The backend runs four security services simultaneously:

  3. Screen Monitor — captures screenshots via screenshot-desktop every 5 seconds, encodes them as base64, and sends to Claude Vision with a detailed security analysis prompt

  4. Email Defender — analyzes email content, sender domains, and embedded links using Claude Haiku

  5. Copy-Paste Guard — receives clipboard content from the Electron main process every 1.5 seconds and checks against 10 company policies

  6. Policy Engine — regex + AI hybrid matching against company-defined rules

  7. The Manager Dashboard (React + Tailwind) A real-time dashboard connected via Server-Sent Events showing live threat feeds, employee risk scores, violation logs, and audit trails — updating the moment any event fires.

Data Flow


Challenges We Faced

  1. The Infinite Loop Problem

Our biggest bug: the screen monitor took a screenshot of the manager dashboard, saw the word "DANGER" in the live threat feed, and generated a new DANGER alert — which appeared in the dashboard — which it then screenshotted again. Infinite loop.

We solved it by adding localhost URL detection to the Claude prompt and a lastSentinelMessage deduplication state that resets only when the active app actually changes.

  1. False Positives on Legitimate Emails

Claude kept flagging Amazon order confirmations and Google security alerts as phishing. We built a trusted senders list and rewrote the prompt with explicit rules:

▎ "amazon.com, google.com, microsoft.com are legitimate — do not flag unless the domain is spoofed"

  1. Speech Bubble Positioning

Getting the speech bubble to appear above the robot's head — not covering its face, not going off-screen, not disappearing before the user could read it — took more iterations than any technical feature.

  1. Git Conflicts Under Pressure

We were working across multiple teammates pushing simultaneously. We lost work twice to merge conflicts and had to build a discipline around git stash → pull → stash pop to safely integrate changes without breaking the running backend.

  1. Making AI Fast Enough to Feel Real

Claude Vision analysis takes 2–4 seconds per screenshot. If we showed the alert only after analysis, it felt slow and disconnected. Our solution: broadcast a "Wait... I am checking your screen right now" event before sending to Claude, so the dog reacts instantly while the AI works in the background.


The Result

A desktop security companion that is proactive, intelligent, and human — something we genuinely believe could change how people think about cybersecurity at work. Not as a burden, but as a trusted colleague watching their back.

▎ "The best security tool is one people don't want to turn off."

Share this project:

Updates