A modern, standalone Electronic Flight Bag (EFB) built for flight simulation enthusiasts. xPad combines real-time flight simulation telemetry, VATSIM network integration, online flight planning, and flight calculations in a unified, professional dark-themed cockpit interface.
xPad is designed around a lightweight, dual-process model:
- Frontend: A React 19 web application built with TypeScript, Vite, Tailwind CSS v4, and Zustand. The styling follows the professional xPad Design Language (MSFS 2024 dark theme with solid deep navy/slate colors, Outfit typography, and responsive visual transitions).
- Backend: A local Node.js service utilizing Express, WebSockets, and
node-simconnect. It exposes local API endpoints and broadcasts real-time telemetry to the frontend via WebSockets. - Desktop Client: An Electron container wrapping the frontend and backend processes, enabling packaging as a native desktop application with
.exeinstallers.
- Natively connects to Microsoft Flight Simulator (MSFS) using the SimConnect SDK.
- Streams real-time flight parameters (altitude, latitude, longitude, heading, indicated airspeed, COM1/COM2 active frequencies) via WebSockets.
- Supports active COM1 radio tuning directly from the EFB user interface.
- Includes an automated installer service that detects local vPilot client paths and installs the custom
xPadPlugin.dllplugin. - Monitors VATSIM network connection status, current callsign, and active controller frequencies.
- Displays nearby controllers and lists frequency lists in a unified communication panel.
- Fetches detailed Operational Flight Plans (OFP) using your SimBrief Pilot ID.
- Displays routing, alternates, weight profiles, weather information, waypoints, dispatch remarks, and log logs.
- Features a quick navigation side-menu to instantly snap to sections within large flight documents.
- Includes a specialized notepad optimized for copying clearances with pre-formatted templates (e.g. CRAFT).
- Supports one-click auto-fill to populate notepad fields using data parsed from the active SimBrief OFP.
- Top of Descent (TOD): Calculates target vertical profile descent starts based on target alt, current alt, groundspeed, and descent rate/angle.
- Unit Converter: Perform instant aviation conversions (Weights: KG ⟷ LB, Temperature: °C ⟷ °F, Pressures: hPa ⟷ InHg).
An extensible backend-driven modules registry loads web views and local iframes dynamically (modules-settings.json) to integrate:
- Flight Charts: Support for Navigraph Charts, Chartfox, and MSFS Planner.
- Flightsim.to & Dispatch: Built-in web frames to browse sceneries or access SimBrief Dispatch and VATSIM NatTrak.
- Cockpit Companion Apps: Connects directly to local aircraft EFB screens (Fenix EFB, FSLabs EFB) and GSX Pro Remote control.
- Browse, view, and store flight checklists, aircraft manuals (SOPs/FCOMs), and airport terminal plates in an integrated PDF module.
- Automatically scans, registers, and starts local applications (MSFS, vPilot, BeyondATC, Volanta, etc.) directly from the launcher panel within the EFB.
- Features an interactive HTML5 drag-and-drop interface in Settings to customize the vertical sequence of apps on the left navigation sidebar. Re-ordered configurations are saved instantly on release.
- All settings (SimBrief Pilot ID, preferred charts provider, simulator IP address, and custom app orders) are persisted on disk in
%APPDATA%/xPad/to support persistent configurations.
- Clone the repository and install dependencies at all levels:
npm install cd frontend && npm install cd ../backend && npm install cd ..
- Start the local server and Electron container:
npm start
- To package the application as a standalone
.exeinstaller:npm run dist
To run the frontend Vite dev server and the backend Node service independently:
-
Start the Backend Service:
cd backend npm run devRuns by default on HTTP port
3001& WebSocket port8080. -
Start the Frontend App:
cd frontend npm run devThe client interface will be available at
http://localhost:5173.
Contributions, bug reports, and features are welcome! Feel free to open issues or check out the CONTRIBUTING.md guide.
xPad is licensed under the MIT License. See LICENSE for details.