owlette is a cloud-connected system for monitoring, managing, and deploying software across fleets of Windows machines — from anywhere. a lightweight Python agent runs on each machine as a Windows service, reporting metrics and executing commands. a modern web dashboard gives you real-time visibility and control over your entire fleet, backed by Firebase and Cloud Firestore.
built for teams running digital signage, media servers, kiosks, TouchDesigner installations, and any Windows application that needs to stay running.
real-time monitoring live CPU, memory, disk, GPU, and network metrics. process health tracking with crash detection. remote screenshots and live view. historical metrics with sparkline charts.
remote deployment push software silently to any number of machines. supports NSIS, InnoSetup, MSI, and custom installers. save deployment templates, track progress in real-time, and cancel mid-install.
cortex ai LLM-powered fleet management with natural language. AI executes commands on agents via tool-calling across 3 tiers — from read-only diagnostics to privileged operations. screenshot analysis, autonomous crash investigation, and multi-provider support (Anthropic + OpenAI).
multi-site management organize machines by location, department, or project. role-based access control with site-level permissions. multi-user accounts with admin and user roles.
project distribution sync project files (ZIPs, .toe files, media assets) across your fleet from any URL — Dropbox, Google Drive, your own hosting. zero infrastructure cost. automatic extraction and file verification.
alerts & notifications configurable threshold alerts for system metrics. email notifications with branded templates. webhook integrations for external platforms. activity logging across your entire fleet.
all communication flows through Cloud Firestore — there is no direct connection between agents and the dashboard. Firestore acts as the message bus.
agents cloud dashboard
+--------------+ +----------------+ +-----------------+
| machine a | --> | | <-- | |
| machine b | --> | Firestore | --> | Next.js web |
| machine c | <-- | | | application |
+--------------+ +----------------+ +-----------------+
|
+----------------+
| Firebase Auth |
+----------------+
- agent — Python Windows service. monitors processes every 10s, sends heartbeats every 30s, reports metrics every 60s, executes commands, works offline.
- dashboard — Next.js 16 web app. real-time Firestore listeners, 63+ API endpoints, OpenAPI documentation.
- firestore — real-time NoSQL database. all data sync, command relay, and state management.
- cortex ai — LLM chat with tool-calling capabilities relayed through Firestore to agents.
- create an account at owlette.app
- create a site to organize your machines
- download the agent installer from the dashboard
- run the installer on your target Windows machine
- a 3-word pairing phrase appears — authorize it from the dashboard or your phone
- your machine appears in the dashboard within 30 seconds
agent (Windows service):
git clone https://github.com/theexperiential/Owlette.git
cd Owlette/agent
pip install -r requirements.txt
cd src && python owlette_gui.py # configure and authenticate
python owlette_service.py install && python owlette_service.py startweb dashboard:
cd Owlette/web
npm install
cp .env.example .env.local # configure Firebase credentials
npm run dev # http://localhost:3000
web dashboard — monitor machines, manage processes, deploy software
Windows agent — system tray application with configuration GUI
| component | technology |
|---|---|
| dashboard | Next.js 16, React 19, TypeScript, Tailwind CSS 4, shadcn/ui |
| agent | Python 3.9+, Windows Service (NSSM), psutil, CustomTkinter |
| database | Cloud Firestore (real-time NoSQL) |
| auth | Firebase Auth, WebAuthn/Passkeys, TOTP 2FA, device code pairing |
| ai | Anthropic + OpenAI via AI SDK, MCP tool-calling |
| Resend (branded dark-theme templates) | |
| hosting | Railway (web), Firebase (backend) |
full documentation is available at theexperiential.github.io/owlette.
- getting started — first machine in under 5 minutes
- agent guide — installation, configuration, system tray, troubleshooting
- dashboard guide — monitoring, process management, views
- remote deployment — silent software installation across machines
- project distribution — sync project files across your fleet
- cortex ai & tools — AI capabilities and tool reference
- API reference — 63+ endpoints with OpenAPI docs
- architecture — system design and data flow
- authentication — auth methods, device code pairing, tokens
contributions are welcome! please open an issue or submit a pull request.
guidelines:
- fork the repo and create a feature branch from
dev - use conventional commits (
feat:,fix:,docs:, etc.) - run tests before submitting:
cd web && npm test - use
node scripts/sync-versions.js X.Y.Zfor version bumps - all PRs merge to
devfirst, thendev→mainfor production
this project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). if you run a modified version of owlette as a network service, you must make your source code available to users of that service.