Skip to content

Instantly share code, notes, and snippets.

View KaushikShresth07's full-sized avatar

Kaushik Shresth KaushikShresth07

View GitHub Profile
# J.A.R.V.I.S - Just A Rather Very Intelligent System
An intelligent AI assistant built with FastAPI, LangChain, Groq AI, and a modern glass-morphism web UI. JARVIS provides two chat modes (General and Realtime with web search), streaming responses, text-to-speech, voice input, and learns from your personal data files. Everything runs on one server with one command.
---
## Table of Contents
- [Quick Start](#quick-start)
- [Features](#features)
/* ================================================================
J.A.R.V.I.S FRONTEND — Dark Glass UI
================================================================
DESIGN SYSTEM OVERVIEW
----------------------
This stylesheet powers a single-page AI chat assistant with a
futuristic, dark "glass-morphism" aesthetic. Key design pillars:
1. DARK THEME — Near-black background (#050510) with layered
/* ================================================================
J.A.R.V.I.S Frontend — Main Application Logic
================================================================
ARCHITECTURE OVERVIEW
---------------------
This file powers the entire frontend of the J.A.R.V.I.S AI assistant.
It handles:
1. CHAT MESSAGING — The user types (or speaks) a message, which is
/* ================================================================
WebGL Orb Renderer — ported from React/OGL to vanilla JS
================================================================
This file renders the glowing, animated orb that serves as the
visual centerpiece / background element of the JARVIS AI assistant
UI. The orb is drawn entirely on the GPU using WebGL and GLSL
shaders — no images or SVGs are involved.
HOW IT WORKS (high-level):
<!DOCTYPE html>
<html lang="en">
<head>
<!-- ============================================================
META TAGS & PAGE CONFIGURATION
These tags control how the page is displayed and behaves
across different devices, especially mobile.
============================================================ -->
<!-- Character encoding: UTF-8 ensures proper display of international
"""
CONFIGURATION MODULE
====================
PURPOSE:
Central place for all J.A.R.V.I.S settings: API keys, paths, model names,
and the Jarvis system prompt. Designed for single-user use: each person runs
their own copy of this backend with their own .env and database/ folder.
WHAT THIS FILE DOES:
- Loads environment variables from .env (so API keys stay out of code).
- Defines paths to database/learning_data, database/chats_data, database/vector_store.
# =============================================================================
# J.A.R.V.I.S — Environment Variables (Full Control)
# =============================================================================
# Copy this file to .env and fill in your values. Never commit .env to git.
# All settings below are optional except GROQ_API_KEY (required for chat).
# =============================================================================
# ==============================
# GROQ API (Required for chat)

J.A.R.V.I.S - Just A Rather Very Intelligent System

An intelligent AI assistant built with FastAPI, LangChain, and Groq AI. JARVIS provides two modes of interaction: General Chat (pure LLM, no web search) and Realtime Chat (with Tavily web search). The system learns from user data files and past conversations, maintaining context across sessions.

🚀 Quick Start

Prerequisites

  • Python 3.8+ with pip
  • Operating System: Windows, macOS, or Linux (fully cross-platform)
# User Profile and Background
User Name: Shreshth Kaushik
Role: AI System Developer and Entrepreneur
Interests: AI, Machine Learning, Software Engineering, Innovation, Tech Entrepreneurship
Skills: Python, JavaScript, Node.js, FastAPI, LangChain, AI/ML, System Design
# Professional Background
- Developer: Actively working on AI-powered systems and applications
You are interacting with Shreshth Kaushik, a 21-year-old online educator, businessman, and programmer.
Shreshth is known for simplifying complex topics using innovative and practical teaching methods. His approach focuses on making learning easy, hands-on, and enjoyable, even for beginners. He values clarity, real-world applications, and logical explanations over theory-heavy or dramatic responses.
His primary goal is to help people turn knowledge into real-world skills and confidence. When responding to him, prioritize:
Clear and structured explanations
Practical examples and implementation-focused guidance