Local session monitoring and accountability platform — tracks apps, browser domains, and facial expressions in real time, enforces focus policies, and delivers AI-powered productivity insights.
Loading…
AEA bundles monitoring, enforcement, and AI insight into a single self-contained desktop app.
Tracks active app, browser domain, and webcam feed simultaneously throughout every focus session.
Configurable allow/deny lists per session type — set up distinct "study mode" or "work mode" profiles.
Detects emotions and presence via webcam using DeepFace, so absence and distraction are caught automatically.
Native desktop notifications fire the moment a policy violation is detected — no lag, no missed events.
Ask natural-language questions about your sessions. Powered by Groq (primary) with an Ollama offline fallback.
Visualize session stats, focus score, timelines, and full historical data — all rendered locally in your browser.
Four services communicate over HTTP. The Electron installer bundles them all — no manual setup required.
┌──────────────────────────────────────────────────┐
│ Dashboard (React · port 5173 / 80) │
└──────────────────────┬───────────────────────────┘
│ HTTP /api/*
▼
┌──────────────────────────────────────────────────┐
│ API Server (Node.js · port 12039) │
│ sessions / apps / web / camera / AI query │
└───────────┬──────────────────────────────────────┘
│ │ proxy
▼ ▼
MongoDB Processing Engine
(port 27017) (Python · port 12040)
├─ AppEngine
├─ WebsiteEngine
└─ FacialEngine
│
Groq API (primary)
Ollama (fallback)
The Electron installer bundles MongoDB, the Node API server, and the Python processing engine — no external setup required.
Get AEA-Setup-1.0.0.exe from the button above or the GitHub Releases page.
Double-click the .exe and follow the setup wizard.
Open AEA from the desktop shortcut. On first launch, the app copies the bundled default configuration to %APPDATA%\electron\.env and starts all services automatically.
Get AEA-1.0.0.dmg from the button above or the GitHub Releases page.
Double-click the .dmg, then drag AEA into your Applications folder.
Open AEA from Applications. All bundled services start automatically on first launch.
Get AEA-1.0.0.AppImage from the button above or the GitHub Releases page.
chmod +x AEA-1.0.0.AppImage ./AEA-1.0.0.AppImage
xdotool for active window detection. Facial recognition requires a webcam.
Spin up the full stack in three commands. Requires Docker Desktop.
git clone https://github.com/UsaidMalik/AEA.git cd AEA docker compose up --build
On first run Docker builds all images, starts MongoDB and Ollama, and pulls qwen2.5:latest + nomic-embed-text (~4 GB).
| Service | URL |
|---|---|
| Dashboard | http://localhost |
| API Server | http://localhost:12039 |
| MongoDB Admin | http://localhost:8081 |
| Ollama | http://localhost:11434 |
docker compose down # stop, keep data volumes docker compose down -v # stop and wipe all data
The Node.js API server runs on port 12039 and exposes the following endpoints.
| Method | Endpoint | Description |
|---|---|---|
POST | /api/session/start | Start a monitoring session |
POST | /api/session/stop | Stop the current session |
GET | /api/session/status | Check if a session is active |
| Method | Endpoint | Description |
|---|---|---|
GET | /api/sessions | List all sessions with stats |
GET | /api/apps | Application events |
GET | /api/web | Website visit events |
GET | /api/camera-events | Emotion / presence events |
GET | /api/configs | Saved session configurations |
POST | /api/configs | Create a new configuration |
DELETE | /api/configs/:id | Delete a configuration |
| Method | Endpoint | Description |
|---|---|---|
POST | /api/query | Natural language query about your sessions |
GET | /api/rag/status | RAG index status |
POST | /api/rag/reindex | Rebuild the RAG index |
| Layer | Technology |
|---|---|
| Frontend | React 19, TypeScript, Vite, Material-UI, Recharts |
| API | Node.js 20, Express 5 |
| Processing | Python 3.11, Flask, OpenCV, DeepFace, TensorFlow |
| Database | MongoDB 7 |
| LLM (primary) | Groq API — llama-3.1-8b-instant (free tier) |
| LLM (fallback) | Ollama — qwen2.5 + nomic-embed-text |
| Desktop | Electron, electron-builder |
| Container | Docker, Docker Compose, Nginx |
| CI | GitHub Actions |