Written by Hector Garcia

@hex.gar

Estimated reading time: 22 min read

Jarvis Setup Guide

AI Consultant

SystemsReading time: 22 min read

This project turns a double clap into a full desk workflow. Spotify starts, Chrome opens Claude, an ElevenLabs voice speaks a welcome line, and Cursor comes to the front, all from one Python script listening to your microphone. The code is open source, so you can read it, fork it, and change every part of the workflow to match your own setup. This is an AI workflow starter, not full automation: the clap orchestrates your apps, you still add your own AI tools, prompts, and habits on top of it.

What you'll set up

By the end of this guide, one double clap will trigger your whole desk startup. Along the way you'll install Python and VS Code, pull the Jarvis project down from GitHub, connect an ElevenLabs voice, and wire it all into one script that listens through your microphone.

Then you'll test it: clap twice and watch Spotify, Chrome, your ElevenLabs welcome line, and Cursor all fall into place.

Step 1: Install Python

Go to python.org/downloads and download the latest Python 3 installer for Windows.

Important: During install, check "Add python.exe to PATH" at the bottom of the first screen, then click Install Now.

Verify Python works. Open Command Prompt or PowerShell and run:

Terminal
python --version

You should see something like Python 3.12.x

Step 2: Install Visual Studio Code

Download: Visual Studio Code

Download the Windows installer, run it, and finish with the default options.

image5

Step 3: Download the project from GitHub

Repo: Jarvis on GitHub

On the GitHub page, click the green Code button, then Download ZIP.

Extract the ZIP. You should have a folder containing at least jarvis.py, requirements.txt, and README.md.

image4
image2

Step 4: Open the project in VS Code

In VS Code: File, then Open Folder, then select the extracted jarvis-main folder.

image1

Step 5: Install Python dependencies

In VS Code: Terminal, then New Terminal. Make sure the terminal path is your project folder, then run:

Terminal
python -m pip install -r requirements.txt

Wait until it finishes without errors. This installs numpy, sounddevice, ElevenLabs, python-dotenv, and websockets.

image6

Step 6: Get your ElevenLabs API key and Voice ID

The Jarvis welcome voice uses ElevenLabs text to speech. You need a free or paid account, plus two values: an API key and a Voice ID.

Sign up or log in at ElevenLabs.

Create an API key: click Developers in the bottom left, then Profile and API key, then Create API key. Copy and save it somewhere safe.

Get your Voice ID: go to Voices, or My Voices, pick a voice you like, open its settings, and copy the Voice ID, a short alphanumeric string.

image8
image3

Step 7: Create your .env file

In VS Code, in the same folder as jarvis.py, create a new file named exactly .env

Paste the following and replace with your real values:

Code
ELEVENLABS_API_KEY=your_key_here
ELEVENLABS_VOICE_ID=your_voice_id_here

Save the file with Ctrl+S.

Warning: Never share your .env file or commit it to GitHub, it contains your private API key.

Step 8: Run Jarvis

In the VS Code terminal, run:

Terminal
python jarvis.py

If Windows asks for microphone access, click Allow. You should see log lines like Listening for double clap.

image7

Step 9: Test the double clap

Clap twice quickly, about a tenth of a second apart. If everything is set up you should see all four of these happen. The welcome sequence runs once per session, press Ctrl+C and run python jarvis.py again to trigger it a second time.

Step 10: Customize (optional)

Open jarvis.py and edit the constants at the top of the file. Common changes are listed below.

Customization settings

SettingWhat it does
SONG_URISpotify or YouTube URL that plays on clap
JARVIS_WELCOME_PHRASEWhat Jarvis says out loud
OPEN_CLAUDE_CODE_IN_CHROMETurn the Claude tab on or off
CLAUDE_CODE_URLWhich Claude URL opens, default is new chat
FOCUS_EXISTING_CURSOR_ON_DOUBLE_CLAPFocus Cursor instead of opening a new window
SPIKE_RATIOLower means easier to detect claps, higher means fewer false triggers

Set values without editing code

You can also set optional URLs in .env instead of editing code:

Code
CLAUDE_CODE_URL=https://claude.ai/new

Troubleshooting

ProblemFix
No reaction to clapsClap closer to the mic. Lower SPIKE_RATIO slightly, for example 7.0 to 5.0. Check Windows Settings, System, Sound, Input, and pick the correct mic.
No welcome voiceConfirm ELEVENLABS_API_KEY and ELEVENLABS_VOICE_ID in .env. Restart the terminal and run jarvis.py again.
Wrong microphoneList devices with python -c "import sounddevice as sd; print(sd.query_devices())" then add JARVIS_INPUT_DEVICE=0, using your device index, to .env.
Audio or PortAudio errorUpdate sound drivers. Try changing SAMPLE_RATE to 48000 in jarvis.py.
Chrome or Cursor not openingInstall Chrome and Cursor. The script looks for cursor.exe in standard install paths.
Clap works once, then nothingExpected, the welcome sequence runs once per process. Press Ctrl+C and start again.

Quick links

Jarvis Setup Guide | Software & AI Consulting