Jarvis
The personal AI running JARVA Labs. Built in public.
Jarvis is the system that runs our operations — sales follow-ups, content drafts, support triage, calendar management, document research. Ten agents, one orchestrator, one Slack channel that pings Charif when a human decision is needed.
Why we built it
Two reasons.
First, we sell AI engineering. We can't sell something we don't run on ourselves.
Second, JARVA Labs is two founders. The math of running a studio without an ops team is brutal — we'd burn 30 hours a week on coordination, scheduling, follow-ups, and content. Jarvis got those 30 hours back.
What it actually does
Ten agents, named for what they do:
- sales_outreach · Reads new LinkedIn-sourced leads, scores ICP fit, drafts first-touch emails (we send them after review)
- content_writer · Drafts the weekly Insights post body from a one-line brief
- support_triage · Reads incoming hello@ emails, categorises, replies to FAQs, escalates everything else
- research_scout · Indexes 14 RSS feeds + Google Scholar + Hacker News, surfaces what we'd want to read
- ops_scheduler · Manages the cron jobs across all the other agents
- invoice_bot · Generates monthly invoices from the timesheet, sends them, follows up on overdue
- code_reviewer · Scans every PR in our GitHub orgs, flags missing tests + security issues
- memory_layer · The pgvector store all other agents read from for context
- voice_loop · Whisper + ElevenLabs interface for "talking to Jarvis" while driving
- browser_agent · Web-scraping + form-filling for tasks that don't have an API
The architecture
┌─────────────────────────┐
│ Jarvis orchestrator │
│ (n8n + Claude) │
└─────────┬───────────────┘
│
┌──────────┬──────────────┼─────────────┬──────────┐
▼ ▼ ▼ ▼ ▼
[ sales ] [content] [support_triage] [research] [browser]
│ │ │ │ │
└──────────┴──────────────┼─────────────┴──────────┘
│
┌─────────▼───────────┐
│ memory_layer │
│ (Supabase + vec) │
└─────────────────────┘Runs on a single Hetzner CX32 (€15/mo) managed by Coolify. n8n hosts the orchestrator + agent workflows. Supabase handles the memory layer. Total monthly cost incl. API spend: ~€140.
What it's NOT
- Not a chatbot interface. There's no UI. It's all running in the background.
- Not autonomous on consequential decisions. Drafts get reviewed before they're sent. Approvals happen in Slack.
- Not productised. We're not selling Jarvis. We're selling the playbook to build something like it for your business.
What we've learned that became services
Every iteration of Jarvis taught us something we now charge for. Some examples:
- Lead scoring prompts that don't drift — became a routine deliverable in MVP Sprints
- Agent memory architecture (vec + relational hybrid) — used in three Full Builds since
- Slack-as-cockpit pattern — every retainer client gets this
- The Friday-demo cadence we use on ourselves — became how we run client engagements
- 2026-04-28voice_loop now handles 4-language switching mid-call. ElevenLabs custom voice tuned for Charif and Zakaria.
- 2026-04-15Migrated memory_layer from raw pgvector to a hybrid (vec + relational). Retrieval quality up 40% on test set.
- 2026-04-02code_reviewer flagged a real security issue in a client repo before the human review got there. Worth a year of its keep.
- 2026-03-18Replaced custom scheduler with n8n cron triggers. Lost 200 lines of bespoke code, gained reliability.
- 2026-02-20First end-to-end run: lead scored → email drafted → human approved → sent → reply detected → calendar booked. All in 4 hours, no human-touch except the approval.
- 2026-01-10memory_layer v0.1. 200 documents indexed. First retrieval working.
- 2025-08-14First commit. orchestrator hello-world routes a hardcoded message through Claude and back. The whole thing fits in 80 lines.
Something similar for your business?
We don't sell what we don't run on ourselves. Book a call.
Book a 30-min call →