Pulse
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
What is Pulse?
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 in Midnight, Pulse's dark-first visual identity: near-black panels, one lime accent for what is live, and plain language before technical detail.
Philosophy: Observation only. No injection. No hooks. No patches. No telemetry. No cloud.
Features
Timeline
- Plain-language summary — the last hour in one sentence, with a 24-hour activity strip
- Human-readable events — story feed with plain language first; Explained / Technical / Raw XML tabs in the inspector
- 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
System Health
- Overview bento — system pulse with health score, memory ring, CPU, GPU and network tiles
- 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
Inventory
- 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
Reports
- Templates — System Health, Timeline, Diagnostics, and inventory catalogs
- Formats — JSON, CSV, HTML, PDF
- Local export — writes under Documents / Pulse / exports by default
Diagnostics
- Service snapshot — SCM state, uptime, identity, binary path, connected clients
- IPC & pipeline — named-pipe health, collectors, performance budgets
- Copy diagnostics — support bundle without leaving the machine
Settings
- General, Appearance, System Health, Timeline, Diagnostics, Performance, Privacy
- Preferences persist locally (
SharedPreferences) — no account, no sync
Product principles
- 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, icon rail, Ctrl+K command search, DPI-aware
Screenshots
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
Architecture
┌──────────────────────────────────────────────────────────┐
│ 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.
Installation
For everyone (stable installer)
- Download
Pulse-Setup-1.3.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.
VirusTotal
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.ps1
Output: dist\Pulse-Setup-1.3.0-windows-x64.exe, dist\Pulse\, and dist\Pulse-1.3.0-windows-x64.zip
For developers (day-to-day)
# 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.ps1
Or 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 windows
Optional SCM install (elevated):
.\build\service\PulseService.exe --install Start-Service PulseService
Full prerequisites and flags: BUILD.md · DEVELOPMENT.md
Local AI Assistant
Ask about this PC in plain language. The Assistant talks to a local model you run yourself — Ollama or LM Studio — and answers from Pulse's read-only diagnostics.
- Localhost only: Pulse refuses non-local AI endpoints, so diagnostics never leave the PC
- Read-only tools: the Assistant cannot run commands, change settings or modify Windows
- Pulse never downloads models or installs AI software for you
AI Integration for external MCP clients (PulseMCP) was removed in 1.3 — see ADR-013.
Guides: Installation · Troubleshooting · Security
Development
| 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 |
Tech stack
| Layer | Stack |
|---|---|
| UI | Flutter Desktop · Provider · window_manager · Geist / Geist Mono · 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) |
| AI | Local Assistant — Ollama / LM Studio over localhost, read-only tools via IPC |
| Persistence (app) | SharedPreferences for settings · local reports & diagnostics export |
| CI | GitHub Actions — Windows service build/tests + Flutter analyze/test |
Project structure
Pulse/
├── apps/pulse_app/ Flutter Desktop UI (Timeline, Health, Inventory, Reports, …)
├── service/pulse_service/ Native Windows service (collector, humanizer, health, IPC)
├── 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
Roadmap
- 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
- 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)
- v1.2.0 Midnight redesign (icon rail, story Timeline, Overview bento)
- v1.3.0 Stability release (service-restart crash, pipe leaks, ~140 MB smaller install; AI Integration removed)
- 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?"
Privacy & security
- 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
Code signing policy
Windows releases of Pulse are being moved to signing through the SignPath Foundation's free program for open-source projects (application in review):
Free code signing provided by SignPath.io, certificate by SignPath Foundation.
- Committers and reviewers: Regncreative (maintainer)
- Approvers: Regncreative
- Only release builds produced by this repository's GitHub Actions workflow are signed. Every signing request is approved manually.
- The Microsoft Store edition is signed by Microsoft.
Privacy: This program will not transfer any information to other networked systems unless specifically requested by the user or the person installing or operating it. The optional Assistant only talks to an AI runtime on localhost. See the privacy policy.
Documentation
| Doc | Purpose |
|---|---|
| AGENTS.md | Product vision, principles, AI / development rules |
| CHANGELOG.md | Release history |
| docs/releases/v1.3.0.md | v1.3.0 release notes (stability) |
| docs/releases/v1.2.0.md | v1.2.0 release notes (Midnight) |
| 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 |
| BUILD.md | Prerequisites & build |
| DEVELOPMENT.md | Local workflow |
| IMPLEMENTATION_GUIDE.md | Implementation notes |
| CONTRIBUTING.md | How to contribute |
Contributing
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/
License
MIT © Regncreative




