See what Windows is really doing.
A modern, read-only diagnostics platform for Windows — events you can understand, not logs you decode.
Timeline — live Event Log events in plain language
Windows already knows everything about itself — crashes, service starts, explorer restarts, boot failures. The problem is how that knowledge is presented: Event Viewer IDs, opaque XML, and tools that feel like they were built for another decade.
Pulse observes. Pulse explains. Pulse visualizes. Pulse never changes Windows.
It turns raw system activity into a readable timeline:
| Instead of… | Pulse shows… |
|---|---|
| Application Error · Event ID 1000 | Explorer unexpectedly closed. Windows restarted Explorer. |
| Service Control Manager · 7036 | Windows Update service entered the running state. |
| Kernel-Power · 41 | The system restarted without a clean shutdown. |
Designed to feel like a built-in Windows 11 utility (Fluent Design, Mica, dark-first) — not a typical diagnostics utility.
Philosophy: Observation only. No injection. No hooks. No patches. No telemetry. No cloud.
- Human-readable events — Level 1 plain language first; technical summary and raw XML on demand
- Live monitoring — Windows Event Log via
EvtSubscribe, pushed over named-pipe IPC - Historical snapshot — recent events on connect, then live prepend as Windows works
- Search & filters — severity, source, category, provider, process, and date presets (including last 15 minutes)
- Detail panel — metadata, process context, and expandable raw event payload
- Incidents & export — correlated groups plus JSON/CSV export of the session
- CPU, Memory, GPU, Disk, Network — live cards and 60-second sparklines
- PDH Processor Utility — frequency-aware CPU % (not just classic Processor Time)
- Hardware summary — OS, CPU, GPU, memory, uptime at a glance
- Graceful offline mode — clear empty states when PulseService is not running
- System — motherboard, BIOS, CPU, memory, storage, network, battery (SMBIOS / SetupAPI where available)
- Devices — USB, PCI, displays, audio, Bluetooth, printers
- Software — installed programs, drivers, and Windows services
- Copy & export — field-level copy plus inventory reports
- Templates — System Health, Timeline, Diagnostics, and inventory catalogs
- Formats — JSON, CSV, HTML, PDF
- Local export — writes under Documents / Pulse / exports by default
- Service snapshot — SCM state, uptime, identity, binary path, connected clients
- IPC & pipeline — named-pipe health, collectors, performance budgets
- MCP status — PulseMCP bridge metrics when AI Integration is enabled
- Copy diagnostics — support bundle without leaving the machine
- General, Appearance, System Health, Timeline, Diagnostics, Performance, Privacy
- AI Integration — opt-in PulseMCP registration for Cursor / Claude Desktop
- Preferences persist locally (
SharedPreferences) — no account, no sync
- Read-only — never modifies OS behavior
- Local-first — everything stays on this PC
- No telemetry / analytics / ads
- Fast & light — idle near-zero CPU, responsive scrolling
- Native Windows feel — custom title bar, acrylic/mica, DPI-aware
Timeline — live humanized events · System Health — CPU, memory, GPU, disk, network
Inventory — hardware & software catalog · Reports — local JSON / CSV / HTML / PDF export
Diagnostics — service, IPC, pipeline · Settings — local preferences & AI Integration
┌──────────────────────────────────────────────────────────┐
│ Windows │
│ Event Log · PDH · DXGI · IP Helper · Process APIs │
└────────────────────────────┬─────────────────────────────┘
│ read-only APIs
┌────────────────────────────▼─────────────────────────────┐
│ PulseService │
│ Collector · Humanizer · Health · Inventory · IPC server │
│ (native C++ Windows service) │
└────────────────────────────┬─────────────────────────────┘
│ named pipe (framed binary)
┌────────────────────────────▼─────────────────────────────┐
│ Pulse App │
│ Flutter · Timeline · Health · Inventory · Reports │
└──────────────────────────────────────────────────────────┘
v1 pipeline
Windows Event Log → Collector → Humanizer → IPC → Timeline UI
PulseService is required (installer or elevated --install-start). A ZIP payload is not a true portable edition — see portable vs service.
ETW, WMI, and plugins are intentional future milestones — see docs/architecture.
- Download
Pulse-Setup-1.1.0-windows-x64.exefrom GitHub Releases - Run the installer and accept the UAC prompt
- PulseService is registered and started automatically
- Skip or complete the short welcome — then open Timeline or System Health
Tip: for troubleshooting without the SCM service, run service\PulseService.exe --console from a payload folder.
Pulse-Setup-1.0.0-windows-x64.exe was scanned on VirusTotal — 0 / 68 security vendors flagged the installer. Clean result across the board.
SHA-256:
7311a4809e64f77b9c44dc8fd59d04db68e3f07288e2348b6470807be72c41d3
Developers can also build a local package:
.\tools\scripts\package_beta.ps1Output: dist\Pulse-Setup-1.1.0-windows-x64.exe, dist\Pulse\, and dist\Pulse-1.1.0-windows-x64.zip
# 1) Build & run the service (console mode — preferred while developing)
.\tools\scripts\run_service_console.ps1
# 2) In another terminal — run the Flutter app
.\tools\scripts\run_app.ps1Or step by step:
# Service
cmake -S service/pulse_service -B build/service -G Ninja -DCMAKE_BUILD_TYPE=Debug
cmake --build build/service
.\build\service\PulseService.exe --console
# App
cd apps\pulse_app
flutter pub get
flutter run -d windowsOptional SCM install (elevated):
.\build\service\PulseService.exe --install
Start-Service PulseServiceFull prerequisites and flags: BUILD.md · DEVELOPMENT.md
Pulse ships PulseMCP — a read-only Model Context Protocol server for Cursor, Claude Desktop, and future clients.
- Enable in Settings → AI Integration (opt-in policy file)
- One-click Register for Cursor (global
~\.cursor\mcp.json) with backup + safe merge - Bundled private Node runtime — no system Node.js required
- Diagnostics → MCP for live status metrics
- Guides: AI Integration · Installation · Troubleshooting · Security
| Command | Description |
|---|---|
.\tools\scripts\run_service_console.ps1 |
Build (if needed) + run PulseService in console |
.\tools\scripts\run_app.ps1 |
flutter run -d windows |
cmake --build build/service |
Rebuild native service |
.\build\service\pulse_wire_tests.exe |
Wire codec unit tests |
.\tools\scripts\run_ipc_ping.ps1 |
IPC Ping/Pong smoke |
.\tools\scripts\run_diagnostics_ping.ps1 |
Diagnostics + inject-event smoke |
.\tools\scripts\package_beta.ps1 |
Build release installer + payload (dist\) |
cd apps\pulse_app; flutter test |
Flutter unit / widget tests |
| Layer | Stack |
|---|---|
| UI | Flutter Desktop · Provider · window_manager · flutter_acrylic · Lucide icons |
| Service | C++20 · CMake · Win32 · Wevtapi · PDH · DXGI · IP Helper · SetupAPI / SMBIOS |
| IPC | Named pipes · framed binary protocol (pulse_wire) · shared Dart/C++ codec |
| Protocol | shared/pulse_protocol (C++ + Dart) · Protobuf schema for FastMCP tools |
| AI | PulseMCP (Node) — read-only tools/resources over the same named pipe |
| Persistence (app) | SharedPreferences for settings · local reports & diagnostics export |
| CI | GitHub Actions — Windows service build/tests + Flutter analyze/test |
Pulse/
├── apps/pulse_app/ Flutter Desktop UI (Timeline, Health, Inventory, Reports, …)
├── service/pulse_service/ Native Windows service (collector, humanizer, health, IPC)
├── apps/pulse_mcp/ PulseMCP bridge (private Node runtime)
├── shared/
│ ├── pulse_common/ Version, errors, constants
│ └── pulse_protocol/ Wire codec (C++ + Dart) + proto
├── tools/
│ ├── ipc_ping/ Smoke clients (IPC / health / diagnostics)
│ └── scripts/ Dev launch + packaging helpers
├── docs/architecture/ ADRs + system design (source of truth)
├── docs/readme/ README screenshots
├── branding/ Logo source (Telemetry Peak)
├── tests/ Fixtures / integration (expanding)
├── AGENTS.md Product constitution
└── BUILD.md Build & install instructions
- Named-pipe IPC + framed wire protocol
- Event Log collector → humanized Timeline
- Live monitoring with page-visibility pause
- System Health (Task Manager–aligned metrics)
- Inventory (system, devices, software)
- Reports (JSON / CSV / HTML / PDF)
- Diagnostics page + local export
- Settings persistence + AI Integration (PulseMCP)
- Fluent dark-first UI polish
- Official screenshots in README
- First-launch welcome (skippable)
- Timeline search, filters, date presets, session export
- Stable installer (
package_beta.ps1→ Inno Setup) - v1.0.0 stable release
- v1.1.0 feature release (Assistant, Store MSIX)
- GitHub Releases auto-update
- Crash / WER timeline
- ETW engine (future milestone)
- Plugin system (future milestone)
- Session recording / timeline replay
Every feature should answer one question: "What is Windows doing right now?"
- No cloud, no login, no account
- No telemetry, analytics, or tracking
- Data never leaves the machine unless you export a report or diagnostics zip
- Uses official Windows APIs only
- Never injects into processes, never hooks, never bypasses security
- Elevation only when you explicitly install the service
VirusTotal — Pulse-Setup-1.0.0-windows-x64.exe · 0/68
| Doc | Purpose |
|---|---|
| AGENTS.md | Product vision, principles, AI / development rules |
| CHANGELOG.md | Release history |
| docs/releases/v1.1.0.md | v1.1.0 release notes |
| docs/releases/v1.0.0.md | v1.0.0 release notes |
| docs/architecture/README.md | Full architecture package + ADRs |
| docs/architecture/24-health-metrics-task-manager.md | Health metrics vs Task Manager |
| docs/guides/ai-integration.md | PulseMCP setup |
| BUILD.md | Prerequisites & build |
| DEVELOPMENT.md | Local workflow |
| IMPLEMENTATION_GUIDE.md | Implementation notes |
| CONTRIBUTING.md | How to contribute |
Issues and pull requests are welcome.
- Read AGENTS.md and the architecture docs first
- Fork and create a feature branch
- Keep changes observation-only — no cleaner / optimizer / antivirus features
- Run
pulse_wire_testsandflutter analyze/flutter testbefore opening a PR - Architectural changes need an ADR under
docs/architecture/decisions/
MIT © Regncreative





