Noureddine RAMDI / Homelab Dashboard: A dual-platform native mobile app for unified self-hosted service monitoring

Created Mon, 04 May 2026 10:23:01 +0000 Modified Sat, 23 May 2026 20:41:27 +0000

JohnnWi/homelab-project

Monitoring and managing a sprawling homelab with dozens of self-hosted services often means juggling multiple web UIs and APIs — a clunky, fragmented experience on mobile devices. Homelab Dashboard tackles this problem by delivering a unified mobile-native interface that consolidates monitoring and control of 33 popular self-hosted tools across infrastructure, networking, media automation, and observability.

What Homelab Dashboard does and how it’s built

Homelab Dashboard is a dual-platform native mobile app targeting iOS (using SwiftUI for iOS 16+ specifically) and Android (using Jetpack Compose for Android 8.0+). It aggregates monitoring and management for 33 self-hosted services including infrastructure tools like Portainer and Proxmox, networking components such as Pi-hole, AdGuard, and Nginx Proxy Manager, media automation via the full Servarr stack, and observability tools.

This is not a simple web wrapper or a generic dashboard; it’s a fully native app for each platform, designed with platform conventions in mind, which means it feels natural on iOS and Android respectively. The codebase for each platform is separate but follows a similar architectural philosophy to provide consistent UX patterns while respecting native UI idioms.

The app supports multi-instance management, allowing users to handle multiple homelab instances from one interface. It also features encrypted backups of data, biometric unlock for security, and the ability to switch app icons for personalization. Distribution covers both traditional App Store tooling (Xcode, Android Studio) and sideloading methods like AltStore and SideStore on iOS, which is handy for those who prefer sideloading without a Mac.

Under the hood, the SwiftUI and Jetpack Compose implementations demonstrate how to abstract diverse service APIs into a unified UI experience while leveraging each platform’s modern declarative UI frameworks. This approach ensures a fluid, responsive experience while managing the complexity of integrating dozens of different APIs.

Technical approach and architectural strengths

What stands out technically is the multi-service aggregation combined with native dual-platform development. Each supported service has its own API quirks, authentication methods, and data models. Homelab Dashboard abstracts these differences behind a service-agnostic architecture, normalizing data into consistent UI components.

The use of SwiftUI and Jetpack Compose is well suited here: both are declarative UI frameworks designed to reactively update the UI when underlying data changes, which fits well with real-time monitoring and status updates. The code is surprisingly clean given the scope, suggesting the author has applied solid separation of concerns and modularity principles.

Tradeoffs are clear: maintaining two native codebases increases development overhead and potential for divergence. However, this pays off in superior performance and UX compared to cross-platform frameworks like React Native or Flutter, especially for a monitoring app where responsiveness and native look-and-feel matter.

The project’s solo developer origin is visible in some areas where more extensive testing or scalability features might be limited, but the core functionality is robust. Features like encrypted backups and biometric unlock show attention to real-world operational security — not always common in homelab tooling.

The sideloading support via AltStore and SideStore on iOS is a practical touch, reflecting the realities of app distribution outside the App Store for many homelab enthusiasts. SideStore’s ability to re-sign apps every 7 days without a Mac reduces friction for non-macOS users.

Quick start

Install via AltStore / SideStore

You can install the iOS app directly on your iPhone without Xcode using AltStore or SideStore.

  1. Copy the source URL:
    https://raw.githubusercontent.com/JohnnWi/homelab-project/main/apps.json
    
  2. Open AltStore or SideStore on your device.
  3. Go to SourcesAdd Source and paste the URL above.
  4. Find Homelab in the source and tap Install.

The app can then be refreshed and updated from the same source.

Note: SideStore can re-sign the app automatically without needing a Mac every 7 days.


Build for iOS

  1. Open HomelabSwift/Homelab.xcodeproj in Xcode 26+.
  2. Select your development team under Signing & Capabilities.
  3. Build and run on a real device or simulator.

Build for Android

  1. Import HomelabAndroid into Android Studio.
  2. Let Gradle sync and resolve dependencies.
  3. Run on a connected device or emulator.

Verdict

Homelab Dashboard is a solid choice for homelab enthusiasts who want a consolidated, native mobile app to monitor and manage a large number of self-hosted services from their phone. The dual native codebases show a thoughtful balance between platform-specific UX and multi-service abstraction.

It’s especially relevant if you run many of the supported tools and want a single pane of glass on mobile without relying on web UIs or multiple apps. The tradeoff is the maintenance cost of two native apps and some limitations inherent to sideloading on iOS.

In practical terms, it’s a valuable solo project and a good reference for anyone considering building cross-platform native apps that unify multiple service APIs. While it’s not a turnkey enterprise-grade solution, it solves a real problem for hands-on users managing homelabs and self-hosted infrastructure on the go.


→ GitHub Repo: JohnnWi/homelab-project ⭐ 431 · Swift