Jarvis AI
Jarvis AI, an intelligent assistant for your day-to-day life.
Overview
Jarvis AI is like Jarvis from the Iron Man movies, but for your day-to-day life. It can help you with various tasks, from setting reminders to providing information on demand.
Features
- Languages - Jarvis can speak up to 16 different languages.
- Calendar - Jarvis can see your calendar (Google Or Apple) and then tell you what is happening on a specific day.
- Screen Vision/Share - Jarvis can translate anything on a website that you visit, if it's supported. And it takes screenshots of your screen every few minutes and can tell you what you did on a specific day. As well as share your screen with Jarvis.
- Voice Control - You can either talk with Jarvis to give it commands or ask it questions. Or just send a message in the chat and he will response.
- Weather + Clock - You can ask Jarvis about the weather in your location. And show you the current time.
- Emails - Jarvis can manage your emails, including sending and receiving messages and shows your recent emails and decided if they are important or not.
- Events - Jarvis logs your recent events and can provide information about them.
- Voice - Jarvis kinda sounds like a British butler, and always calls you "Sir".
Code Sample
preflight.py
"""Preflight: self-checks to run after changing Jarvis, before trusting it.
python preflight.py static checks, the viewer's fast routes (needs Node), and live API checks
against a running server.py (skipped, not failed, when it isn't running)
python preflight.py --brain also the checks that ask Claude: answers in the active language and the
[LANG:...] tag from unplanned phrasings (slower; runs on your subscription)
The active language is saved first and restored at the end, whatever happens. Exit code 1 if anything fails.
"""
import argparse
import json
import os
import re
import shutil
import subprocess
import sys
import tempfile
import urllib.error
import urllib.request
HERE = os.path.dirname(os.path.abspath(__file__))
sys.path.insert(0, HERE)
BASE = "http://127.0.0.1:4700"
REQUIRED = {"en", "es", "fr", "de", "it", "pt", "nl", "hi", "ur", "ar", "ja", "ko", "zh", "ru", "tr", "pl"}
SPEC_ALIASES = {"default": "en", "usual": "en", "english": "en", "mandarin": "zh", "español": "es", "espanol": "es",
"français": "fr", "francais": "fr", "deutsch": "de", "italiano": "it", "português": "pt",
"portugues": "pt", "Spanish": "es", "the French language": "fr", "日本語": "ja"}
NEVER_LANGS = ["klingon", "spanis", "engl", "frenc", "opus", "sonnet", "discord", "spotify", "elvish", ""]
results = []
Screenshots
A Problem I had
Was writing the prompts for Claude Code to generate the Code. As well as the API's cost a lot of money.