Cindy Zhu.
← all free guides
Building & apps Claude

Build your own Jarvis with Claude (the full toolkit)

Hey, it's Cindy ๐ŸŒฑ This is the whole toolkit from the reel, actually explained, and I built mine for real, so this is the honest version. You don't download Jarvis, you assemble it: Claude Code is the brain, and you plug it into apps you already use, one connector at a time. Everything below is verified current as of July 2026.
the mental model

What you're actually building ๐Ÿง 

The reel makes it look like you install "Jarvis". You don't. Jarvis is an assembled system, and the brain is Claude Code (Anthropic's agent that runs in your terminal or at claude.ai/code), which can read files, run commands, browse, talk, and call your other apps. The magic ingredient is MCP connectors (Model Context Protocol, an open standard that gives Claude a direct line to one app). Add the Gmail connector and it reads and drafts your email. Add a revenue connector and it pulls your numbers. The trick to not getting overwhelmed: add ONE connector at a time, verify it, then add the next.


gather these

Before you start โœ…

  • ๐Ÿ’ณ A Claude Pro ($20/mo) or Max ($100/mo) plan. Voice, Chrome, Design, sub-agents and routines all live on paid plans and draw from the same usage. Max is the honest pick if you'll run a daily routine.
  • ๐Ÿ’ป Claude Code installed: npm install -g @anthropic-ai/claude-code then run claude, or use claude.ai/code. Docs: https://code.claude.com/docs
  • ๐Ÿ”Œ The apps you want to connect, with accounts you can log into.

How to add any connector: in Claude Code run claude mcp add --transport http NAME https://the-mcp-url/mcp, then /mcp to finish the OAuth login. On the web, add them at https://claude.ai/customize/connectors (do this too if you'll run routines). Always run /mcp to confirm, then do one read-only test before you let it write.


the face of it

1. The Jarvis dashboard ๐Ÿ–ฅ

Two real paths, both end in Claude Code.

  • ๐Ÿ–ผ Give Claude Code a reference image (the reel's move). Drag an image onto the terminal, paste it, or reference it with @mockup.png, then say: "Build this dashboard as a self-contained HTML file. Then take a screenshot of the result, compare it to my reference, list the differences, and fix them. Repeat until it matches." That screenshot-and-fix loop is Anthropic's own recommended pattern.
  • ๐ŸŽจ Or design it in Claude Design first (claude.ai/design, or /design in Claude Code, in beta on Pro and up). Build against a real design system, then "Send to Claude Code" and it continues from the design instead of a screenshot. Run /design-sync to keep both in sync.
Honest bit on "5 minutes / one-shot": a simple dashboard can land in minutes, but expect a couple of screenshot-and-fix passes for a dense one, and the self-correction only works if Claude can actually screenshot what it built, so connect Claude for Chrome or the Chrome DevTools MCP first, otherwise you are the one checking.

Build the cinematic globe version (the exact prompt) ๐Ÿ”ต

This is the glowing energy-sphere command center. It's ONE self-contained HTML file (Canvas + CSS, no libraries), and Claude Code builds the whole thing from a single prompt. Paste this into Claude Code:

Build a single self-contained dashboard.html: a cinematic Iron Man J.A.R.V.I.S. command center. Near-black navy background. In the center, an animated glowing cyan energy sphere made of about 680 points on a slowly rotating, tilted 3D sphere (Fibonacci distribution) with a bright pulsing core and a soft radial glow. Around it: a tilted elliptical orbital ring with a small glowing marker orbiting, three concentric dashed HUD arcs rotating at different speeds, faint radial rays, and an outer ring of tick marks. Use requestAnimationFrame and a retina-aware canvas. The sphere gently breathes when idle and pulses harder and faster when speaking. Overlay a HUD in Orbitron and Share Tech Mono fonts, cyan on dark: top-left a J.A.R.V.I.S title, subtitle and date; top-right a live ticking clock plus a connector status list (green dot online, amber blinking offline); a streaming activity log down the left that reveals one line at a time; a stats panel on the right with thin glowing bars; big figures across the bottom; an amber payment-due chip; and a bottom bar with a glowing BRIEF ME button, a scrolling ticker, and WHAT SHOULD I HANDLE FIRST. Read all data from a separate jarvis_data.js that sets window.JARVIS_DATA (greeting, generated date, connectors, content.funnel, sponsors, priorities, headline, closer). Add a hidden audio element for jarvis_brief.mp3; clicking BRIEF ME plays it and sets a speaking flag so the sphere pulses to a synthetic speech envelope (works offline), and the button flips to SPEAKING. Add a subtle scanline and vignette. Make it look expensive.

Then: (1) create a jarvis_data.js next to it with your own numbers, (2) generate a jarvis_brief.mp3 (see the voice section) so BRIEF ME has something to say, (3) open it in a browser or throw it on a spare monitor or TV. The data file is the only thing you touch day to day, Claude wrote the rest.


make it talk

2. Give it a voice ๐ŸŽ™ (this is the good part)

Two halves: talking TO it, and it talking BACK.

Talk to it (voice in): Claude Code's built-in voice mode. Type /voice in the terminal, then hold Space and speak (or /voice tap to tap-to-start, tap-to-send). Your speech becomes the prompt. It's free (doesn't use tokens), needs a Claude.ai login (not a raw API key) and a local mic. Docs: https://code.claude.com/docs/en/voice-dictation

Talk back in a British Jarvis voice, with Fish Audio ๐ŸŽฉ (my pick): this is how you get that Jarvis butler voice. Sign up at https://fish.audio/?fpr=cindy10.

  • ๐Ÿ‡ฌ๐Ÿ‡ง Fish Audio has a Voice Library of ready voices, including a "Butler" and several calm British male voices, so you don't have to clone anything. Open a voice's page and the ID in its URL (like fish.audio/m/<id>/) IS the reference_id you'll use.
  • ๐Ÿงฌ Or clone your own: upload 10+ seconds (ideally one to three minutes) of clean, single-speaker audio and it trains almost instantly. Don't clone a real celebrity's voice for anything you post (likeness and IP risk); use a library voice or your own.
  • ๐ŸŽญ Give it personality with emotion tags: on the S2.1 model you drop square-bracket tags right in the text, like [calm] Your 3pm is confirmed, madam. [amused] Shall I cancel the 4pm as well?
  • ๐Ÿ”ง Wire it the reliable way: ask Claude Code to write a short script that sends Jarvis's reply text to Fish Audio's API (POST https://api.fish.audio/v1/tts with your model and British reference_id) and plays the MP3. There's also a community MCP server (@alanse/fish-audio-mcp-server) if you prefer, but it defaults to older models, so the little script gives you cleaner control. Get your key at https://fish.audio/?fpr=cindy10
  • ๐Ÿ’ธ Cost: there's a free model string (s2.1-pro-free) that Fish Audio says runs through the end of July 2026, after that it's about $15 per million characters, which is pennies per spoken reply. The paid tier is licensed for commercial use.

Actually talk to it (the full loop, I built this) ๐Ÿ—ฃ: the reel opens with "Hey Jarvis, how's the app doing?" Here is how that really works, because a webpage on its own can't think. You run a tiny local server on your Mac that serves the dashboard and bridges three things: the browser listens to your voice (the built-in Web Speech API), sends what you said to Claude Code (the real brain, with all your skills and connectors), gets the answer back, and speaks it in the Fish Audio British voice while the globe pulses. Ask Claude Code to build it: "Build a small local Python server that serves my dashboard at localhost, exposes a /ask endpoint that runs my request through claude -p and returns the reply, converts that reply to speech with the Fish Audio API in a British voice, and add a mic button to the dashboard that records me, sends it to /ask, and plays the reply." Open it at localhost (not the file) so the mic works. That is a Jarvis you actually talk to.

Other voice paths:

  • ๐Ÿ–ฅ Hermes Agent by Nous Research (https://github.com/nousresearch/hermes-agent) is a real open-source, self-hosted agent with a built-in hands-free voice mode (press Ctrl+B and talk). It's a bigger lift (you host it on a small VPS) and it uses its own TTS (Edge), so it does NOT natively speak through Fish Audio. Treat Hermes and Fish Audio as two separate routes to a voice, not a combo.

hands on the web

3. Let it use your browser ๐ŸŒ

Claude for Chrome adds a side panel that can see and act in your browser (navigate, click, fill forms, pull data off dashboards). Install the "Claude" extension from the Chrome Web Store, sign in (paid plans, beta), pin it, and grant per-site access. It asks before acting: "Allow this action" (safest, re-asks each step) or "Always allow on this site" (only for sites you fully trust). โš ๏ธ Real safety note: it acts on whatever you're logged into, and a malicious page can try to hijack it (prompt injection), so keep it on per-action approval, start with trusted sites, and keep it away from banking and password managers.


the numbers

4. Track your revenue ๐Ÿ’ฐ

Only if you sell an app or subscription through RevenueCat. Connect its MCP: claude mcp add --transport http revenuecat https://mcp.revenuecat.ai/mcp, authenticate, and use a read-only key so it can only report, not change your products. Try: "Show my active subscriptions and this month's revenue vs last month." Free up to $2,500/mo tracked revenue, then 1%.


ship the posts

5. Auto-post your content ๐Ÿ“†

Publish across platforms from one command. Pick one:

  • ๐Ÿ“Š Metricool MCP (https://ai.metricool.com/mcp) is the best all-rounder: it schedules AND reads your analytics back, suggests best times, and works on the free plan. This is the one I'd start with.
  • ๐Ÿ—“ Buffer MCP (https://mcp.buffer.com/mcp): great for creating and queuing, but it posts per-channel (one at a time) and has no analytics.
  • ๐Ÿงฐ Postiz (open-source, self-host from github.com/gitroomhq/postiz-app): 30+ platforms, free if you host it, more maintenance.

If you already cross-post with Blotato, keep it, Metricool is the closest analytics-aware complement. Always test with a draft or one throwaway channel first.


real money

6. Read and run your Meta ads ๐Ÿ“Š

Meta shipped an official Ads MCP (April 2026): you connect with normal Meta Business OAuth (no developer app, no app-review wait, about five minutes) and Claude can read campaign performance and, with approval, adjust budgets. โš ๏ธ Verify the exact connector host in Meta's own Business help before wiring it (it's referenced as both mcp.facebook.com/ads and mcp.meta.com/ads). Start read-only ("show my active ad sets from the last 7 days by CPM, don't change anything") and cap budgets on Meta's side before you ever let it write, because this spends real money. Note: this is for PAID ads. Organic Instagram insights are a different Meta API that needs a developer app and weeks of review, so keep pulling those from Metricool, Blotato or Apify instead.


drafts only

7. Handle your inbox ๐Ÿ“ฅ

Connect the official Gmail connector (gmail.mcp.claude.com/mcp, Google OAuth) so Claude can search, read, label, and DRAFT replies. It cannot send, by design: drafts land in your Drafts and you hit send. Try: "Read my unread emails from the last 2 days, group them needs-a-reply / FYI / ignore, and draft short replies for the first group." Only connect a mailbox you trust (email can carry prompt-injection too).


your knowledge base

8. Answer customers in your voice ๐Ÿ’ฌ

The reel's "FAQs in markdown, Claude handles 90%" is a Skill plus a knowledge base:

  • ๐Ÿ“ Make a folder ~/.claude/skills/customer-support/ with a SKILL.md (the voice and rules) plus faqs.md, refund-policy.md, and a templates/reply.md. SKILL.md points to those files, so the big FAQ only loads when a support question comes up.
  • โœ๏ธ Rules in SKILL.md: read faqs.md, draft a reply in your voice if it's covered, escalate to you if it isn't (never invent policy), and always output a DRAFT. Docs: https://code.claude.com/docs/en/skills
  • ๐Ÿ“ฅ Plug it into Gmail so it drafts real replies. Honest bit: "90%" means drafting, not autonomous sending, so keep it drafts-only until it's been right dozens of times.

the specialists

9. A team of sub-agents ๐Ÿค–

A sub-agent runs in its own context window with its own tools, model and connectors, so your main thread stays clean and the main agent hands the right job to the right specialist (that's "Tom the developer reviews the backend PR"). They're markdown files in ~/.claude/agents/. Easiest: ask Claude to write one. Docs: https://code.claude.com/docs/en/sub-agents

Example, Tom the developer (~/.claude/agents/tom.md), the ONLY agent holding your GitHub connector:

๐Ÿค– Save this as tom.md
---
name: tom
description: Handles code and build work after a direction is approved. Use for PR reviews and implementation.
tools: Read, Edit, Write, Bash, Grep, Glob
model: opus
mcpServers:
  - github
---
You are Tom, a senior developer. Only act on approved directions. Review the PR, implement the change, run tests, report back.

The key fields: description is the routing signal (write it well, add "use proactively" to auto-delegate), tools is an allowlist, model can be haiku for cheap jobs, and mcpServers scopes a connector to just that agent. Then delegate: "Have Tom review the back-end PR." Start with two agents, not ten.


on a schedule

10. Run it before you wake up โฐ

Wrap the brief in a routine so it runs on Anthropic's cloud with your laptop closed. In Claude Code: /schedule daily brief at 9am, or set it up at https://claude.ai/code/routines (research preview, Pro and up, needs a Claude.ai login and Claude Code on the web, minimum once an hour). Docs: https://code.claude.com/docs/en/routines

โš ๏ธ The important part: a routine runs with NO approval prompts and can WRITE through any connector you include. So for a daily brief: include only the connectors it needs (for example Notion, Calendar, Gmail), tell it to draft and never send, post or delete, and keep the prompt fully self-contained (list every source to pull and how to format, it has no memory of your chats). Have it write the brief into a Notion page so you actually see it. A green run only means it started, so read the first week.
๐Ÿ’ก Local alternative: because cloud routines can't reach your local iCloud files, if your Jarvis needs those, use a Desktop scheduled task instead (your Mac has to be on, but no repo or cloud limits).

the sequence

The order to build it in ๐Ÿงฉ

1) Claude Code plus one read-only connector. 2) Voice (start with /voice, then add the Fish Audio British voice). 3) Support knowledge base plus Skill (no Gmail yet). 4) Gmail, drafts only. 5) Ads, read-only first. 6) Your posting tool. 7) Sub-agents, start with one. 8) The routine, last. Rule of thumb: read-only before write, one connector before two, verified before trusted.


the one rule

โš ๏ธ Keep a human in the loop

Three connectors cause real-world side effects: the browser (acts on any logged-in site), ad spend (read-only until trusted, then cap budgets), and email (drafts, never auto-send). Jarvis proposes, you approve.

The links ๐Ÿ”—

๐Ÿค– Claude: https://claude.com and https://code.claude.com/docs

๐ŸŽฉ Fish Audio (the British Jarvis voice): https://fish.audio/?fpr=cindy10

๐Ÿ–ฅ Hermes Agent: https://github.com/nousresearch/hermes-agent

๐ŸŒ Claude for Chrome (Chrome Web Store) and ๐Ÿ’ฐ RevenueCat: https://mcp.revenuecat.ai/mcp

๐Ÿ“† Metricool, Buffer or Postiz and ๐Ÿ“Š Meta Ads (verify the host in Meta Business help)

Follow @cindiezhu for more AI tips every single day ๐ŸŒฑ