I Built a Real JARVIS in Python with Knowledge Graphs, BERT Emotion Detection, Face Recognition and NASA API

Published: (February 28, 2026 at 09:55 AM EST)
2 min read
Source: Dev.to

Source: Dev.to

Introduction

Ever watched Iron Man and thought — could I actually build that? I did, and after months of work, here’s what I ended up with.
GitHub repository

Why I Built It This Way

I wanted JARVIS to remember things about me across sessions, which led me to three core architectural decisions that make this project different.

Personal Knowledge Graph (NetworkX)

import networkx as nx

pythonG = nx.DiGraph()
pythonG.add_node(
    "User",
    type="Person",
    name="YOUR_NAME",
    age="YOUR_AGE"
)

When you ask “what is my favorite movie?”, JARVIS traverses the graph to find the answer rather than looking up a hard‑coded variable. This makes it trivially easy to add new facts and relationships — just add nodes and edges.

BERT for Emotion & Intent Detection

The system uses a BERT model from HuggingFace Transformers to detect user intent and emotional tone.

Face & Gesture Recognition (OpenCV)

OpenCV handles face detection and gesture recognition, enabling more natural interaction.

What It Can Do

  • 🧠 Personal Knowledge Graph — remembers your preferences, birthdays, relationships
  • Voice input via Google Speech Recognition
  • Voice output with pyttsx3
  • Sentiment analysis using NLTK VADER
  • Space data retrieval from the NASA API
  • Optional local LLM support via Ollama

Tech Stack

ComponentTechnology
LanguagePython 3.8+
NLP / IntentBERT (HuggingFace Transformers)
SentimentNLTK VADER
Knowledge GraphNetworkX
Computer VisionOpenCV
Voice InputGoogle Speech Recognition
Voice Outputpyttsx3
Space DataNASA API
Local LLM (optional)Ollama

Current Limitations

  • Windows‑only: Uses os.startfile and taskkill, which are Windows‑specific. Cross‑platform support is the next big goal.

What’s Next

  • Add cross‑platform support for Linux & macOS
  • Refine the Knowledge Graph architecture

Try It Out

GitHub repository

Feedback

I’d love feedback — especially on the Knowledge Graph architecture. Is NetworkX the right choice for this use case? Would you have done it differently? Drop a comment below.

0 views
Back to Blog

Related posts

Read more »

Google Gemini Writing Challenge

What I Built - Where Gemini fit in - Used Gemini’s multimodal capabilities to let users upload screenshots of notes, diagrams, or code snippets. - Gemini gener...