Product Introduction
- Definition: Portlivo is a native macOS menu bar application (built with SwiftUI) that functions as a real-time local development server and TCP port manager. It automatically scans, identifies, and displays every active dev server and listening port on a Mac.
- Core Value Proposition: It exists to solve the common developer pain points of port conflicts, forgotten background processes, and inefficient server management by providing a centralized, visual dashboard for all local development environments. Its primary value is offering one-click control (open, restart, kill, log tailing) and visibility (project context, health status, resource usage) over disparate dev servers.
Main Features
- Real-Time Port & Server Discovery: The app performs a continuous scan (every two seconds) of all listening TCP ports on the system. It goes beyond simple port listing by using heuristics and process analysis to identify the specific development technology (e.g., Node.js, Python, Go) and map it to its source project directory, command, and Process ID (PID).
- Context-Aware Server Management Panel: For each discovered server, Portlivo displays a rich set of metadata: project folder path, exact launch command, PID, uptime, HTTP health check status, and real-time CPU/memory usage. From this unified interface, users can perform actions like opening the server in a browser, copying its URL, gracefully restarting or forcefully killing the process, and tailing its live log output.
- Integrated Development Workflow Tools: Portlivo extends its functionality beyond the menu bar. It includes an optional
devportscommand-line tool for terminal and Raycast integration, system-wide keyboard shortcuts (default ⌥⌘P) to summon the server list, and macOS Shortcuts actions for automation. It also facilitates secure local tunnel sharing via integration with cloudflared or ngrok, initiated only on explicit user command.
Problems Solved
- Pain Point: Developers frequently encounter "Port already in use" (EADDRINUSE) errors, waste time manually hunting down rogue processes with Terminal commands like
lsofandkill, and lose track of which servers are running for which projects, leading to system resource bloat. - Target Audience: The primary user personas are macOS-based full-stack developers, freelancers, and engineering teams who concurrently run multiple local development environments. This includes JavaScript/TypeScript developers (using Vite, Next.js, Nuxt), PHP/Laravel developers (using artisan serve, Laravel Herd, Valet), Python developers (Django, Flask, FastAPI), Ruby on Rails developers, and those using containerized services with Docker/OrbStack.
- Use Cases: Essential scenarios include: rapidly diagnosing and resolving port conflicts during project switching; monitoring the health and resource consumption of all active dev servers; quickly restarting a failed backend API without leaving the IDE; sharing a locally running frontend with a colleague via a temporary public tunnel; and cleaning up all development processes after a work session.
Unique Advantages
Strengths & Limitations (Pros & Cons):
- Pros: Native macOS performance and integration (SwiftUI, menu bar, notifications). Exceptional depth of process context (project, command, health). Comprehensive framework recognition. Privacy-focused, with all data processed locally. One-time purchase pricing with a perpetual licence and free updates. Low system permission requirements (only Notifications optional).
- Cons: Platform-exclusive to macOS 14 Sonoma or later. Cannot manage system-level/root-owned services (e.g., default PostgreSQL on port 5432), only user-owned processes. Public tunnel sharing requires separate installation of cloudflared/ngrok.
Key Alternatives & Differentiation:
- Terminal Commands (
lsof,kill): Free and always available, but require memorization, manual parsing, and provide no project context or visual management. Portlivo automates and visualizes this workflow. - Laravel Herd UI: Excellent for managing PHP/Laravel and Herd-specific services, but is a single-stack solution. Portlivo is stack-agnostic, managing Node, Python, Ruby, Go, Java, and containers alongside PHP.
- Generic Port Killers (e.g.,
kill-portnpm package): Solve only the "free a port" problem. Portlivo provides holistic management, including discovery, monitoring, restarting, logging, and sharing, making it a proactive development environment dashboard rather than a reactive tool.
- Terminal Commands (
Frequently Asked Questions (FAQ)
- Is Portlivo a subscription service? No, Portlivo uses a one-time purchase licensing model. A single payment grants a perpetual licence for the major version, and all updates within that version are free. This differs from common SaaS developer tools that charge monthly or annual recurring fees.
- How does Portlivo compare to using
lsof -i :3000andkillin Terminal? While the Terminal commands are free and effective for single actions, Portlivo provides continuous, automatic discovery and a visual interface. It identifies the project and command using the port, shows health status and uptime, and allows one-click actions like restarting or log tailing, which require multiple manual steps in the Terminal. - Can Portlivo manage Docker container ports and services like PostgreSQL? Yes, Portlivo recognizes and displays ports exposed by Docker and OrbStack containers. For background services like PostgreSQL or Redis, it can manage them if they are run as a user-owned process (e.g., started via Homebrew). It cannot stop system-level services that require root (sudo) privileges, as it deliberately runs without admin rights for security.
- Does Portlivo send my local project data or logs to the cloud? No. The application is designed for privacy. All port scanning, process analysis, and log data remain strictly on your local machine. The only network calls are for checking software updates, validating your licence key, and establishing public tunnels (only when you explicitly initiate the "Share" action).
- What is the
devportscommand-line tool and how do I install it? ThedevportsCLI is an optional component that exposes Portlivo's functionality in the Terminal. It allows you to list, filter, and manage servers from the command line or scripts (e.g., Raycast). Installation is a one-time command (sudo ln -s ...) that creates a symbolic link to the tool bundled within the Portlivo app.
