NeoHtop is a high-performance system monitor designed as a modern alternative to htop, offering real-time visibility into CPU, memory, disk, and process activity with a sleek desktop interface. Built for developers and power users who need detailed system insights without the clutter of traditional task managers.
It leverages Rust for low-level system access and performance, Tauri for secure native desktop packaging, and SvelteKit with TypeScript for a responsive, themable UI. Available as a native app for macOS, Windows, and Linux, with a companion CLI built in Go for terminal-based monitoring.
What You Get
- Real-time process monitoring - Live updates of running processes with CPU and memory usage percentages, updated without polling delays.
- Advanced process search - Search processes by name, command, or PID using comma-separated terms or regular expressions like
d$ for daemons or ^(\w+\.)+\w+$ for reverse domain notation.
- Process pinning - Pin critical processes to keep them visible in the list even as new processes appear and disappear.
- Dark/light theme support - Automatic theme detection and CSS variables-based theming for visual comfort across environments.
- Process management (kill) - Terminate unresponsive or unwanted processes directly from the UI with a single click.
- Column-based sorting - Sort processes by any column (CPU, memory, PID, name) with click-based sorting and visual indicators.
- Auto-refresh system stats - System metrics update in real time without manual refresh, using efficient native system calls via Rust.
- NeoHtop CLI - A terminal version built with Go and Charm, offering sparklines, process trees, filters, and themes — installable via npm:
npm install -g neohtop-cli.
Common Use Cases
- Debugging high CPU usage - A developer identifies a runaway process by sorting CPU usage in real time and kills it without switching to terminal.
- Monitoring background services - A sysadmin pins critical services like nginx or docker to track their resource consumption across reboots.
- Cross-platform system checks - A remote worker uses NeoHtop on macOS, Windows, and Linux to maintain consistent monitoring workflows across devices.
- Terminal-based system inspection - A DevOps engineer uses NeoHtop CLI in SSH sessions to monitor processes without installing GUI tools.
Under The Hood
Architecture
- Svelte-based component architecture with clear separation of UI concerns through modular, self-contained components like TableHeader, StatItem, and Modal
- State management handled via Svelte stores with persistent localStorage-backed configuration, enabling reactive updates without external dependencies
- Column definitions and formatting logic centralized in a dedicated module, decoupling data presentation from rendering components and supporting extensible configurations
- Toolbar and UI controls unified via a single export index, promoting composability and consistent API usage
- Tauri integration creates a clean boundary between SvelteKit frontend and native backend for OS and shell interactions
- Theme system implemented with CSS variables and data attributes, enabling dynamic theming and visual effects like glassy transparency without component rewrites
Tech Stack
- Svelte 5 with SvelteKit and Vite powering a TypeScript-enabled SPA with static deployment capabilities
- Tauri 2.0 integrated for native desktop packaging, leveraging Rust backend via Cargo for secure, lightweight system bindings
- Comprehensive tooling stack including SvelteCheck, Prettier with Svelte plugin, and Husky for pre-commit hooks
- Build pipeline orchestrated through Vite with SvelteKit’s plugin system, supporting both web and desktop deployment targets
- TypeScript enforced with strict mode, module resolution, and path aliases aligned with SvelteKit’s $lib convention
Code Quality
- Code organization follows Svelte component-based modularity with clear separation of UI, stores, and types
- Naming conventions are consistent and descriptive, though some utility functions lack documentation
- Type safety is moderately enforced but minimal in core logic areas like event handlers and store updates
- Error handling is rudimentary, relying on basic try/catch without structured logging, custom error types, or recovery strategies
- Limited testing practices and absence of linting or formatting configuration reduce code consistency and reliability
What Makes It Unique
- Native Tauri integration enables direct system process access without external CLI wrappers, delivering real-time, low-latency data with native permissions
- Dynamic glassmorphism theme system with intelligent backdrop blur and layered transparency that adapts to system theme states while preserving readability
- Context-aware overlay system with automatic positioning and escape/blur dismissal for UI elements, creating a seamless native-app experience
- Embedded ASCII art rendering of application info with version comparison and auto-update detection, blending terminal aesthetics with modern desktop UX
- Svelte-based component architecture with granular state management and zero-dependency UI primitives, preserving interactivity without framework bloat
- Process action buttons with animated state transitions (pin rotation, hover glow) that mimic terminal UI feedback patterns in a GUI environment