← Back to Case Studies AI Automation

Cisco Networking AI Assistant

AI chatbot specialized for Cisco IOS/IOS-XE/NX-OS — embeddable widget for any website, contextual 'Ask AI' buttons integrated into ciscotools.dev, Claude Haiku backend via FastAPI with rate-limited free tier.

FastAPI Claude API JavaScript Shadow DOM SQLite

Problem

Network engineers troubleshooting Cisco configs have the same workflow: stare at a config section, open a browser tab, search “cisco ios-xe eigrp named mode syntax”, wade through SEO-optimized blogs and outdated forum posts, maybe find a relevant Cisco doc, copy the example, adapt it. Repeat for every unfamiliar command or feature. The context-switch cost adds up — especially for engineers working across IOS, IOS-XE, and NX-OS where syntax differs in subtle, painful ways.

Generic AI assistants can help, but they hallucinate Cisco syntax confidently. They’ll suggest commands that don’t exist on a given platform, mix up IOS and NX-OS syntax, or recommend deprecated approaches. Network engineers need an AI that knows the difference between router eigrp 100 and router eigrp NAMED — and which platforms support which.

Solution

Built a Cisco-specialized AI chatbot with two delivery modes: a standalone embeddable widget that drops into any website, and contextual “Ask AI” buttons integrated directly into ciscotools.dev tools. The widget uses Shadow DOM encapsulation so it can be embedded on any page without CSS conflicts.

The backend is a FastAPI service using Claude Haiku for fast, cost-effective responses. System prompts are tuned for Cisco-specific accuracy — platform-aware syntax, version caveats, and configuration best practices from 26 years of hands-on networking experience (CCIE #34678). A rate-limited free tier makes the tool accessible to any engineer.

Architecture

Embeddable Widget (vanilla JS, Shadow DOM)

    ├── Standalone mode ──→ Any website via <script> tag

    └── Contextual mode ──→ ciscotools.dev tools
            │                    │
        "Ask AI" buttons     Current config context
        Pre-populated        passed to AI for
        with tool context    relevant answers

FastAPI Backend

    ├── /api/chat ──────→ Claude Haiku (Anthropic API)
    │                         │
    │                    System prompts tuned for
    │                    Cisco IOS/IOS-XE/NX-OS

    ├── Rate limiter ───→ SQLite (per-IP tracking)

    └── Session mgmt ──→ Conversation history (in-memory)

The contextual integration is what makes this more useful than a generic chatbot. When an engineer is using the config diff tool and sees an unfamiliar command in the delta, the “Ask AI” button sends that specific config context to the chatbot. The AI doesn’t just answer a generic question — it answers in the context of what the engineer is actively working on.

Key Decisions

Shadow DOM encapsulation. The widget needs to work on any website without breaking existing styles or being broken by them. Shadow DOM provides full CSS isolation — the widget’s styles don’t leak out, and the host page’s styles don’t leak in. One <script> tag, one line of initialization, and the widget works anywhere.

Claude Haiku for speed and cost. Network engineers expect near-instant responses — they’re mid-config and need a quick answer. Haiku’s response latency is under 2 seconds for most queries, and the per-token cost makes a free tier economically viable. For a tool that needs to handle thousands of free queries without a business model yet, cost per response matters.

Rate-limited free tier over signup wall. Network engineers are allergic to creating accounts for tools they haven’t tried yet. The free tier is IP-rate-limited — generous enough for real work sessions, restrictive enough to prevent abuse. No signup, no API key, no friction. Engineers discover value before they ever consider paying.

Contextual over generic. A chatbot that knows you’re looking at an EIGRP config because you just ran a diff on two router configs is dramatically more useful than one that starts from zero context every time. The “Ask AI” buttons pre-populate the conversation with relevant config snippets, so the AI’s first response is already specific to the engineer’s problem.

Results

  • Embeddable widget with Shadow DOM isolation — works on any website
  • Contextual “Ask AI” buttons integrated into ciscotools.dev tools
  • Claude Haiku backend with sub-2-second response times
  • Rate-limited free tier with per-IP tracking
  • System prompts tuned for Cisco IOS, IOS-XE, and NX-OS accuracy
  • FastAPI backend with conversation session management
  • Zero-signup access — engineers start getting answers immediately

How This Scales

  • Paid API tier — Higher rate limits for power users and automated pipelines, with Stripe billing integration and API key management.
  • RAG over Cisco documentation — Index Cisco’s official configuration guides and command references for retrieval-augmented generation. Ground the AI’s responses in authoritative documentation rather than relying solely on model knowledge.
  • Multi-vendor expansion — Extend system prompts and RAG sources to cover Juniper, Arista, and Palo Alto — the other platforms enterprise engineers commonly work with.
  • IDE integration — VS Code extension that surfaces the chatbot directly in the editor when working with network config files.

Tech Stack

  • Backend: FastAPI, Claude API (Haiku), SQLite (rate limiting)
  • Widget: Vanilla JavaScript, Shadow DOM, CSS encapsulation
  • Integration: ciscotools.dev contextual “Ask AI” buttons
  • Deployment: Cloudflare Tunnel

Need something similar?

I've built this before. Let's talk about adapting it for your needs.