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.
β Try the live demo β explore the dashboard with sample data, no setup needed.
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.
| 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 |
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 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 β β
β ββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- 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
git clone https://github.com/YOUR_USERNAME/atlas.git
cd atlasOr download as ZIP and extract.
Double-click setup.bat and follow the prompts. It will:
- Check Python and pip
- Create a virtual environment
- Install all dependencies
- Check Tesseract OCR
- Ask for your Gemini API key and save it
- Initialize the database
- Ask if you want Atlas to auto-start on login (recommended: Y)
Setup takes about 3β5 minutes on first run.
- Open Chrome and go to
chrome://extensions - Enable Developer mode (top right toggle)
- Click Load unpacked
- Select the
extensionfolder inside the project
Right-click register_task.ps1 β Run with PowerShell
(Requires Admin once β never again after this)
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
| 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 |
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"
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
| 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 |
- All data is stored locally in
data/activity.db(SQLite) - Nothing is sent to the cloud except your questions to Gemini AI
- The
.envfile containing your API key is gitignored and never uploaded - To delete all your data: delete
data/activity.dband restart Atlas
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.pyChrome 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
| 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 |
Pull requests are welcome. For major changes, please open an issue first.
- Fork the repo
- Create your branch:
git checkout -b feature/your-feature - Commit:
git commit -m "Add your feature" - Push:
git push origin feature/your-feature - 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.