explaingit

starbrightlab/immortal

15KotlinAudience · generalComplexity · 3/5Setup · moderate

TLDR

A custom launcher, photo frame screensaver, and community app store for discontinued Meta Portal smart displays, giving orphaned devices a working home screen with weather, clock, folders, and self-updating software.

Mindmap

mindmap
  root((immortal))
    What it does
      Replaces Portal launcher
      Photo frame screensaver
      Community app store
    Launcher features
      App grid with folders
      Clock and weather display
      WhatsApp and Messenger tile
    Screensaver features
      Personal photos and videos
      Presence sensor support
      Weather overlay
    Setup
      One-time USB provisioning
      Self-updating after that
      All Portal models supported
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Revive a discontinued Meta Portal device as a smart photo frame that shows your own photos with a weather and clock overlay.

USE CASE 2

Turn a Portal device into a home hub for WhatsApp and Messenger video calls with a modern app grid and folder organization.

USE CASE 3

Install Portal-compatible apps from the community catalog wirelessly after a one-time USB setup, without needing a computer again.

Tech stack

KotlinAndroid SDK

Getting it running

Difficulty · moderate Time to first run · 30min

First-generation Portal devices require a one-time USB provisioning step from a Windows or Mac computer before wireless installs work.

In plain English

Immortal is a custom replacement home screen for Meta Portal smart display devices. Meta discontinued the Portal product line, meaning the devices no longer receive official updates or support. Immortal is a community project that turns these orphaned devices into something useful again by replacing the default interface with a new launcher, a photo frame screensaver, and a small app store. The launcher is a grid of apps with a clock, date, and weather display across the top. You can organize apps into folders by dragging them together, and there is a tile for making calls through WhatsApp or Messenger since those were the original Portal's main features. The screensaver mode turns the device into a digital photo frame showing your own photos and videos, with weather and clock overlays. It uses the Portal's built-in presence sensor so the frame runs while someone is nearby and can pause when the room is empty. The built-in app store serves a catalog of curated apps that are compatible with Portal hardware. It handles downloading and installing apps directly on the device without needing to connect a computer. Community members can submit their own Portal-compatible apps to be listed in the catalog. The store also handles updates for Immortal itself, so the software can improve over time without any cables or manual work. First-generation Portal devices have a broken system installer, which normally makes sideloading apps impossible. Immortal works around this with a helper process that the provisioning kit sets up over USB once, after which installs work silently through the store. The provisioning step is a single double-click on Windows or Mac. The project supports all Portal models including the Portal TV, which has no touchscreen and is driven entirely by a remote control. The TV version has full D-pad navigation across the entire interface.

Copy-paste prompts

Prompt 1
I installed Immortal on my Meta Portal. How do I create app folders and pin the weather widget to the main home screen grid?
Prompt 2
I have a Portal TV with no touchscreen. Walk me through navigating the Immortal app store using only the remote control D-pad.
Prompt 3
How do I submit a Portal-compatible Android app to the Immortal community app catalog so other Portal owners can find and install it?
Prompt 4
My first-generation Portal has a broken system installer. Walk me through the one-time USB provisioning step to get Immortal working on it.
Open on GitHub → Explain another repo

← starbrightlab on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.