Skip to content

Mars-60/project3

Repository files navigation

Atlas

Atlas

Your local AI memory layer for Windows.
Atlas silently tracks your PC activity in the background and lets you explore everything β€” apps used, websites visited, screen time, and more β€” through a beautiful dashboard. Ask questions about your day in plain English using the built-in AI chat.

Python Flask Gemini Platform Demo

Live Demo

β†’ Try the live demo β€” explore the dashboard with sample data, no setup needed.


What is Atlas?

Atlas is a local, privacy-first activity tracker that runs silently in the background on your Windows PC. No cloud. No subscriptions. Everything stays on your machine.

Once set up, Atlas:

  • Records which apps you use and for how long
  • Tracks which websites you visit and your time on each
  • Captures window titles and screen content via OCR
  • Answers natural language questions about your activity using Gemini AI

Open the dashboard any time to see your day β€” or ask "What was I doing at 3pm?" and get an instant answer.


Features

Feature Description
πŸ”‡ Silent background recording Starts at login, no terminal, no popups
πŸ“Š Live dashboard Screen time, app usage, website time, hourly chart
🌐 Browser tracking Chrome extension tracks tabs and time per site
πŸ€– AI chat Ask anything about your activity in plain English
πŸ“ Activity feed Full searchable log of every captured event
πŸ”’ 100% local All data stored in SQLite on your machine
βš™οΈ One-time setup Single .bat file handles everything

How It Works

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                   Your Windows PC                   β”‚
β”‚                                                     β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”               β”‚
β”‚  β”‚Window Loggerβ”‚    β”‚Chrome Ext.   β”‚               β”‚
β”‚  β”‚(active app, β”‚    β”‚(tab switches,β”‚               β”‚
β”‚  β”‚window title)β”‚    β”‚ heartbeats)  β”‚               β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜               β”‚
β”‚         β”‚                  β”‚                        β”‚
β”‚         β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                        β”‚
β”‚                  β–Ό                                   β”‚
β”‚          β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                           β”‚
β”‚          β”‚  Flask API   β”‚  ◄── SQLite DB            β”‚
β”‚          β”‚  :5000       β”‚  ◄── Gemini AI            β”‚
β”‚          β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜                           β”‚
β”‚                 β”‚                                    β”‚
β”‚          β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”                           β”‚
β”‚          β”‚ atlas.html   β”‚  ← You open this          β”‚
β”‚          β”‚  Dashboard   β”‚                           β”‚
β”‚          β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                           β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Requirements

  • Windows 10 or 11
  • Python 3.10 or higher β†’ Download (check "Add to PATH")
  • Google Chrome
  • Tesseract OCR β†’ Download (install to default path)
  • A free Gemini API key β†’ Get one here

Installation

Step 1 β€” Clone the repository

git clone https://github.com/YOUR_USERNAME/atlas.git
cd atlas

Or download as ZIP and extract.

Step 2 β€” Run setup

Double-click setup.bat and follow the prompts. It will:

  1. Check Python and pip
  2. Create a virtual environment
  3. Install all dependencies
  4. Check Tesseract OCR
  5. Ask for your Gemini API key and save it
  6. Initialize the database
  7. Ask if you want Atlas to auto-start on login (recommended: Y)

Setup takes about 3–5 minutes on first run.

Step 3 β€” Install the Chrome Extension

  1. Open Chrome and go to chrome://extensions
  2. Enable Developer mode (top right toggle)
  3. Click Load unpacked
  4. Select the extension folder inside the project

Step 4 β€” Register auto-start (if not done during setup)

Right-click register_task.ps1 β†’ Run with PowerShell
(Requires Admin once β€” never again after this)


Usage

Accessing the Dashboard

After setup, Atlas runs silently in the background from every login.

To open the dashboard: Double-click the "Atlas Dashboard" shortcut on your Desktop, or open frontend/atlas.html directly in Chrome.

frontend/atlas.html  ← open this in Chrome

Dashboard Overview

Section What it shows
Home Total logs, apps tracked, days of memory
Dashboard Screen time, app usage bars, website time, hourly chart
Activity Feed Full searchable log of all captured events
Ask Atlas AI Chat with Gemini about your activity

Asking Atlas Questions

Click the chat button (bottom right) or press Ctrl+Space anywhere on the dashboard.

Example questions:

  • "What was I doing today?"
  • "How much time did I spend on YouTube this week?"
  • "What websites did I visit yesterday?"
  • "Summarize my coding sessions"

Project Structure

atlas/
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ agents/              # Gemini AI memory agents
β”‚   β”œβ”€β”€ ai/                  # Gemini API client
β”‚   β”œβ”€β”€ api/
β”‚   β”‚   └── server.py        # Flask REST API
β”‚   β”œβ”€β”€ collectors/
β”‚   β”‚   β”œβ”€β”€ window_logger.py # Active window tracker
β”‚   β”‚   └── ocr_collector.py # Screen OCR capture
β”‚   β”œβ”€β”€ database/
β”‚   β”‚   └── db.py            # SQLite operations
β”‚   β”œβ”€β”€ retrieval/           # RAG pipeline components
β”‚   └── utils/
β”œβ”€β”€ extension/
β”‚   β”œβ”€β”€ background.js        # Chrome extension (tab tracking)
β”‚   β”œβ”€β”€ manifest.json
β”‚   └── popup.html
β”œβ”€β”€ frontend/
β”‚   └── atlas.html           # Dashboard (single-file)
β”œβ”€β”€ data/                    # SQLite database (gitignored)
β”œβ”€β”€ .env                     # Your API key (gitignored)
β”œβ”€β”€ start_atlas.py           # Silent background launcher
β”œβ”€β”€ setup.bat                # One-click installer
β”œβ”€β”€ register_task.ps1        # Task Scheduler registration
β”œβ”€β”€ atlas_silent_launch.vbs  # Windowless startup helper
└── requirements.txt

API Endpoints

Endpoint Method Description
/browser_activity POST Receives tab data from Chrome extension
/dashboard_stats GET App + site durations for a date range
/recent GET Latest activity logs
/stats GET Total log count, apps, days
/chat POST Ask Gemini a question about your activity

Privacy

  • All data is stored locally in data/activity.db (SQLite)
  • Nothing is sent to the cloud except your questions to Gemini AI
  • The .env file containing your API key is gitignored and never uploaded
  • To delete all your data: delete data/activity.db and restart Atlas

Troubleshooting

Dashboard shows "No data β€” start the Flask server"
β†’ Atlas isn't running. Run register_task.ps1 as Admin, then restart your PC.
β†’ Or manually start it: open PowerShell in the project folder and run:

.\venv\Scripts\python.exe start_atlas.py

Chrome extension shows fetch errors
β†’ Make sure Atlas is running (check Task Manager for pythonw.exe)
β†’ Go to chrome://extensions, find Atlas, and click the refresh icon

Websites show 0s time
β†’ Make sure the Chrome extension is loaded and enabled
β†’ The heartbeat updates every 5 seconds β€” give it a minute

Setup fails at "Installing packages"
β†’ Check your internet connection
β†’ Try running setup.bat as Administrator


Tech Stack

Layer Technology
Backend Python 3.10+, Flask, flask-cors
AI Google Gemini API
Database SQLite (local, no server needed)
OCR Tesseract OCR + pytesseract
Screenshots Pillow (PIL)
Window Tracking pywin32, pygetwindow
Frontend Vanilla HTML/CSS/JS (single file, no framework)
Browser Chrome Extension (Manifest V3)
Deployment Runs locally on Windows

Contributing

Pull requests are welcome. For major changes, please open an issue first.

  1. Fork the repo
  2. Create your branch: git checkout -b feature/your-feature
  3. Commit: git commit -m "Add your feature"
  4. Push: git push origin feature/your-feature
  5. Open a Pull Request

Built by Adnan Raza Β· CSE @ JMI, New Delhi, India
A personal project to track and understand how I spend my time on my PC.

About

AI-powered Personal Memory & Activity Intelligence System that transforms PC activity, browsing history, screen content, and documents into searchable memory. Built with Python, Flask, OCR, Retrieval Pipelines, SQLite, and Gemini AI.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors