Skip to content

Repository files navigation

🧠 StudyOS

Zero-Input AI Study Companion & System Architecture for JEE Main & Advanced

Release License Platform Tests Daemon

An autonomous, privacy-first desktop companion that silently observes authorized Linux study sessions, maintains a dynamic Digital Twin of student retention using Ebbinghaus decay math, and delivers AI-driven priority revisions without manual logging.

FeaturesQuick TutorialArchitectureReleases & InstallAI ProvidersLicense


📖 5-Minute Student User Tutorial

Welcome to StudyOS! This application is designed to function as an autonomous, zero-input companion during your JEE preparation. Here is how to use StudyOS day-to-day:

1. Launching the App

Double-click the StudyOS desktop shortcut, run ./StudyOS-1.0.0.AppImage on Linux, or launch StudyOS.exe on Windows.

  • A native desktop application window will open with a live telemetry status bar at the top.

2. Zero-Input Study Session (How it Monitors You)

You do NOT need to press any "Start Timer", "Log Hours", or "Create Flashcard" buttons!

  • Simply open your standard study applications on your computer:
    • Read textbook PDFs in Zathura, Evince, or Xournal++.
    • Solve practice problems or take notes in your favorite editor.
    • Watch JEE Physics, Chemistry, or Math lectures on YouTube or web browsers.
  • The background daemon (studyosd) silently observes your active window focus, extracts textbook formulas/topics locally, and logs your study duration without disturbing your flow.

3. Automatic Privacy Filter (What it Does NOT Monitor)

StudyOS enforces a strict pre-filter privacy engine before any text is read:

  • If you switch focus to Bitwarden, 1Password, Banking sites, Spotify, Discord, Telegram, or Incognito windows, StudyOS automatically tags the window as Privacy Filtered and logs 0 study data.

4. Reviewing Adaptive Revisions (Co-Pilot Revision Tab)

  • Whenever you open StudyOS, click the Co-Pilot Revision tab.
  • StudyOS automatically calculates your concept retention using continuous Ebbinghaus decay math $M(t) = M_0 \cdot e^{-\lambda t}$.
  • It presents priority revision cards ranked by decay probability and exam weightage.
  • Click "Get AI Deep Insights" on any concept card to generate instant AI pitfall recaps, core formulas, and key shortcuts (powered by Gemini, Groq, or local Ollama).

5. Exploring the JEE Knowledge Graph (JEE Knowledge Graph Tab)

  • Click the JEE Knowledge Graph tab to visualize over 350+ interconnected concepts across Physics, Chemistry, and Mathematics.
  • Click any concept node to inspect:
    • Prerequisite Chains: What concepts you must master first (e.g. Vectors before Rotational Dynamics).
    • PYQ Frequency & Weightage: Historical exam weightage (High / Medium / Low).
    • Common Mistakes: JEE advanced traps to avoid during problem solving.

6. Searching Past Study Memories (Search Memory Tab)

  • Need to recall when you studied a specific topic? Open the Search Memory tab.
  • Type natural language queries like "Gauss Law flux calculations" or "Organic Chemistry reaction mechanisms".
  • StudyOS executes local 384-dimensional vector similarity search over your past study logs and surfaces exact snippets with timestamps.

📌 Executive Summary

Traditional study applications require manual input—log cards, tap timer buttons, and type study notes. StudyOS changes this paradigm by running a zero-overhead background desktop observer (studyosd).

As you read textbooks in PDF readers (e.g., Zathura, Evince), watch lectures on YouTube, or solve problems in note apps (e.g., Xournal++), StudyOS:

  1. Captures Active Windows: Detects active desktop study windows via native OS IPC (Hyprland, Wayland, and X11).
  2. Applies Privacy Filters: Drops non-study applications (banking, password managers, messaging, incognito sessions) before processing text.
  3. Parses Study Concepts: Runs local quantized PaddleOCR ONNX to extract mathematical formulas and textbook concepts offline.
  4. Calculates Forgetting Curves: Computes continuous retention decay $M(t) = M_0 \cdot e^{-\lambda t}$ across 350+ JEE Physics, Chemistry, and Math concepts.
  5. Surfaces Priority Revisions: Recommends high-impact revision cards based on forgetting probabilities and JEE exam weightages.

✨ Key Features

Capability Technical Implementation
🛰️ Zero-Input Observer Daemon Headless studyosd systemd user service polling active windows (<0.1% CPU). Supports Hyprland (hyprctl), Wayland (gdbus), and X11 (xprop).
🛡️ Strict Pre-OCR Privacy Guard Pre-filter bloom engine automatically blacklists apps (bitwarden, spotify, chrome-incognito, 1password) and sensitive terms (bank, password, private).
Local Mathematical OCR Local ONNX PaddleOCR engine parses formulas and text snippets offline with sub-15ms latency.
🧬 Digital Twin Learner Model Continuous Ebbinghaus forgetting curve math ($M(t) = M_0 \cdot e^{-\lambda t}$), half-life decay $\lambda$, and mistake pattern tracking.
🕸️ JEE Knowledge Graph Interactive node network across Physics, Chemistry, and Math mapping prerequisite dependencies, PYQ frequencies, weightages, and common pitfalls.
🔍 Semantic Memory Search Embedded SQLite + sqlite-vec 384-dimensional vector search (all-MiniLM-L6-v2) for instant natural language query over study history.
🤖 Multi-Provider AI Switching REST/IPC abstraction layer supporting Google Gemini 2.5, Groq (Llama 3.3 70B), local Ollama (localhost:11434), and OpenRouter/Custom endpoints.
💻 Native Desktop App Shell Standalone Electron/Tauri desktop window with native title bar, tray controls, and auto-managed daemon server.

🏗️ System Architecture

                                  +------------------------------------+
                                  |   Linux Desktop (Hyprland/X11/WL)  |
                                  +------------------------------------+
                                                    |
                                      Active Window IPC Event Stream
                                                    v
                                  +------------------------------------+
                                  |    studyosd Background Daemon      |
                                  +------------------------------------+
                                                    |
                                      Privacy Pre-Filter Evaluation
                                                    |
                                  +-----------------+------------------+
                                  |                                    |
                           [Blocked App/Title]                 [Allowed Study App]
                                  |                                    |
                           Drop Event (0 OCR)            Local ONNX PaddleOCR
                                                                       |
                                                                       v
                                                      +----------------------------------+
                                                      |   SQLite + sqlite-vec Database   |
                                                      +----------------------------------+
                                                                       |
                                                           Digital Twin Decay Sync
                                                                       v
                                                      +----------------------------------+
                                                      |  StudyOS Desktop Window Shell    |
                                                      +----------------------------------+

📦 Releases & Installation

Pre-compiled standalone releases are generated in the release/ directory:

🐧 Linux AppImage (Executable Standalone)

Download and run directly on any Linux distribution (Arch, Ubuntu, Fedora, Debian):

# 1. Download or locate release
cd release/
chmod +x StudyOS-1.0.0.AppImage

# 2. Launch native AppImage
./StudyOS-1.0.0.AppImage

🪟 Windows Setup Installer (.exe)

Download release/StudyOS Setup 1.0.0.exe and double-click to install desktop shortcuts and Start Menu entries.

📦 Linux Package Manifests Included


🛠️ Building from Source

Prerequisites

  • Node.js: v18.0.0 or higher
  • npm: v9.0.0 or higher
  • Linux Tools: hyprctl, xprop, or gdbus (auto-detected)

Development Setup

# 1. Clone repository
git clone https://github.com/studyos/studyos.git
cd studyos

# 2. Install dependencies
npm install

# 3. Launch native desktop application window
npm run app

# Or run the background daemon server only:
npm run dev

Build App Image & Windows Installer

# Build Linux AppImage executable
npm run dist:linux

# Build Windows NSIS Setup.exe
npm run dist:win

# Build both platforms
npm run dist:all

🧪 Testing & Verification

StudyOS includes an automated 5-tier requirement-driven test suite with 149 executable tests (100% pass rate):

# Execute complete E2E test suite
./tests/run_e2e_tests.sh
Tier Level Focus Area Test Count Pass Rate
Tier 1 Feature Unit & Integration Coverage 55 100%
Tier 2 Boundary & Corner Cases 55 100%
Tier 3 Cross-Feature Interactions 12 100%
Tier 4 Real-World Workload Scenarios 7 100%
Tier 5 Adversarial Hardening Tests 15 100%
TOTAL Full E2E Suite 149 100%

⚙️ AI Provider Abstraction

Configure your preferred AI provider in .env.local or directly within the Settings tab inside the desktop app:

# Google Gemini 2.5 API Key
GEMINI_API_KEY="your_gemini_api_key_here"

# Groq Llama 3.3 70B API Key
GROQ_API_KEY="your_groq_api_key_here"

StudyOS degrades gracefully when offline: if remote AI APIs are unreachable, all Digital Twin calculations, Knowledge Graph inspection, and local memory search continue operating 100% offline.


📜 License

StudyOS is licensed under the GNU General Public License v2.0 (GPL-2.0). See the LICENSE file for details.

This means you are free to use, study, share, and modify the software, provided any derivative works are also licensed under GPL-2.0.

Releases

Packages

Contributors

Languages