All projects Autonomous AI · Production 24/7

OpsPilot

I was drowning in context-switching across 5+ business systems, missing follow-ups, and spending hours pulling data that should have taken seconds. So I built an autonomous AI that monitors my work environment, surfaces what matters, and handles the operational overhead that used to eat my day. It runs 24/7 on production infrastructure, not as a demo.

0AI tools
0Search accuracy
0Docs indexed
0Data sources
Scroll
Financial Overview
Export Data
Mar 2026
Monthly Revenue
£284k
+12.3% vs Feb
Net Profit
£41.2k
+6.7% vs Feb
Deals Won
14
+3 this month
Docs Indexed
7,241
+124 new
Monthly Revenue
HubSpot Pipeline
Xero Bank Balances
Business Current Account
Barclays ****4521
£142,388
Savings Reserve
Barclays ****7830
£85,200
VAT Holding
Barclays ****2104
£28,740
Recent Queries
?
What's our current MRR and how does it compare to forecast?
Today 09:14 -- 1.2s response
?
Find the Q4 board deck and summarise the revenue section
Today 08:46 -- 3.4s response
?
What's the HR policy on remote working days?
Yesterday 16:22 -- 0.8s response

Vizro dashboard showing live KPIs, P&L, pipeline, and bank balances Dummy Data

Dummy Data
Monthly Revenue
£284k
+12.3% vs Feb
Net Profit
£41.2k
+6.7% vs Feb
Deals Won
14
+3 this month
Docs Indexed
7,241
+124 new
Full 11-page dashboard best viewed on desktop
Agentic AI /Microsoft Teams /Python /Production /SharePoint /Xero /HubSpot /60k+ Lines /Agentic AI /Microsoft Teams /Python /Production /SharePoint /Xero /HubSpot /60k+ Lines /
01 / The Problem

I run finance and operations at a tech company. My day is split across Teams, SharePoint, Xero, HubSpot, and email. Someone asks a question in one system, the answer lives in another, and the context for why it matters is in a third. I was spending hours just pulling data, missing follow-ups because nobody tracked who said what, and scrambling for context before meetings.

"What does the Customer X contract say about payment terms?" That's a SharePoint search. "Who hasn't paid us?" That's Xero. "What deals is the sales team working on?" HubSpot. "Tell me about Customer X." That needs all three. The information always existed. It was just scattered across 6,000+ files, multiple systems, and years of accumulated documents.

Before

  • Dig through 6,000+ SharePoint files manually
  • Log into Xero, HubSpot, email, calendar separately for every question
  • Miss follow-ups because nobody tracked who promised what
  • Scramble for context 5 minutes before a meeting

After

  • Ask a question in Teams, get an answer from any source in seconds
  • Morning briefing with everything that matters before 9am
  • Commitment tracker catches every promise, nudges when overdue
  • Pre-meeting brief lands 15 minutes before every call
02 / How It Works

Nine-stage pipeline

Someone asks a question in Teams. The pipeline triages it, figures out whether it needs documents, live accounting data, CRM data, or all three at once, and returns an answer as an Adaptive Card with approve/edit/reject buttons. Live data questions hit Xero or HubSpot directly, zero LLM cost. Document questions run a hybrid search (BM25 + FAISS + reranker). Cross-source queries like "tell me about Customer X" pull from everything simultaneously. A PII blocker catches sensitive data before anything goes out.

S1 Teams webhook S2 Dedup gate S3 Smart triage (2-layer) S4 Intent router S5b / DOC SEARCH BM25 + FAISS hybrid + RRF + ROSES reranker S5a / LIVE DATA Xero (9) + HubSpot (8) S6 Multi-draft generation S7 PII sensitivity gate S8 Adaptive Card builder S9 Approve / Edit / Reject UNIFIED ORCHESTRATOR Single Claude Sonnet call with 25 combined tools for cross-source queries
03 / What It Does

What it does

Hybrid Search

BM25 for keywords, FAISS with E5-Large-Instruct for semantics, Reciprocal Rank Fusion merges rankings, then a ROSES AI reranker picks the top five. HyDE generates domain-specific terms so vague queries like "anything about the Customer X deal" still find the right documents. 100% accuracy on production tests. The search pipeline is frozen. No changes without explicit approval.

Cross-Source Intelligence

"Who hasn't paid us?" pulls live Xero receivables. "What deals is David working on?" queries HubSpot pipeline data. "Find the employment contract template" searches SharePoint. Ask "tell me about Customer X" and it pulls from all three simultaneously. 17 direct API actions, and when a query routes to live data the LLM never touches it. Just formatted numbers, straight back.

11-Page Dashboard

Built on McKinsey's Vizro framework. Covers the full picture: P&L, cash position, sales pipeline, receivables, CRM activity, engagement trends. 40+ chart types. There's an AI chat overlay too, so you can ask Claude to recut any chart without leaving the page.

Autonomous Monitoring

10+ scheduled jobs that run without any manual trigger. Morning and evening briefings land in Teams with calendar, email highlights, financial alerts, and follow-up reminders. Deal stage monitoring checks HubSpot every 5 minutes during business hours. An invoice scanner picks up PDFs from my inbox, uses Vision AI to extract line items, matches against Xero records, and flags duplicates or price drift. A commitment tracker detects promises in Teams and email, then alerts when they're overdue. Pre-meeting briefs generate 15 minutes before each call with attendee CRM history and open invoices.

Personal Growth Journal

Every evening, it writes a first-person diary entry from the day's activity: Teams conversations, emails, calendar, deal changes, financial updates. A separate behavioural feedback system analyses my communication patterns and flags blind spots like unreplied messages, tone issues, or neglected relationships. Rolling memory tracks per-person interaction metrics and recurring feedback themes. Weekly digest every Friday with trends and self-review evidence.

Conversation Memory & Approval

It remembers what you were talking about. Per-user context with a 2-hour window and 10-turn memory. Ask about Customer X, then follow up with "what about their payment terms?" and it knows what you mean. Every answer comes back with options and nothing goes out without you approving it. It also learns which style of answer you tend to pick from your approval history.

04 / In Action

Teams Adaptive Card

Ask a question in Teams, pick an answer, click approve. Nothing gets sent without you seeing it first.

Sample data
Microsoft Teams
OpsPilot | General
What's our current MRR and how does it compare to forecast?
OP
OpsPilot 10:42 AM
Monthly Recurring Revenue
MRR is £127,400 as of March 2026, 4.2% above the Q1 forecast of £122,300. Growth is driven by 3 new enterprise contracts closed in February. Churn held at 1.8%, below the 2.5% target.
Current MRR£127,400
Q1 Forecast£122,300
Variance+4.2% above target
Churn1.8% (target 2.5%)
Approve Edit Reject
05 / Built With

Tech stack

Python 3.12
59k+ lines across 173 files
Claude Sonnet
Reasoning, synthesis, orchestration
Claude Haiku
Triage, OCR, fast tasks
FAISS
Vector similarity search
BM25
Keyword search engine
MS Graph API
Teams, SharePoint, Calendar, Email
Xero API
Accounting data (read-only)
HubSpot API
CRM & sales pipeline
Bot Framework
Teams webhook handler
Vizro
11-page McKinsey dashboard
APScheduler
11 automated briefing jobs
Oracle Cloud
Ubuntu VM, systemd, auto-deploy
More Work

Other projects

Trading Bot backtest
Paper Trading

Trading Bot

Same multi-agent architecture, applied to markets. Four agents with deterministic kill-switches and risk veto.

View case study
WhatsApp Smart extension
Prototype

WhatsApp Smart

Different stack, same problem-first approach. TypeScript/React Chrome extension for WhatsApp productivity.

View case study
Uni-Nation website
Live

Uni-Nation Digital

Where I first learned that the best problems sit between departments. Family textile business, digital from scratch.

View case study

Nobody could find anything in 7,000 files. Every question meant someone stopping their day to dig through folders.