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