New app: Glyph
Abstract
Please introduce the functions and usage of your app in summary, and also attach some screenshots.
Glyph is a free, open-source (MIT) app for WLED LED matrices. It finds WLED controllers on the local network and turns them into something you control from your phone:
- guided setup: joins a new controller to Wi-Fi and finds the panel wiring with a three-tap light test, written into WLED's own config;
- 13,000+ animations (live procedural effects, original/CC0 pixel art, public-domain classics) streamed live over the LAN (DDP), or saved onto the controller so they play without the phone;
- a pixel editor, scrolling text, clocks and timers, GIF import, a music visualiser and seven games with the phone as a gamepad;
- Glance cards (weather via Open-Meteo, countdowns), Home Assistant blueprints.
No account, no ads, no tracking. Everything runs on the phone and talks to the device over the local network.
Screenshots (from the upstream fastlane metadata):
Please elaborate why you wrote this app. Please highlight the unique functions it provides over other similar apps in F-Droid.
WLED's own UI is built for LED strips; on 2D matrices it exposes raw settings (serpentine layouts, segments, presets) and can only show effects the small ESP32 can compute. Glyph renders every frame on the phone, so even a cheap controller shows smooth animations, drawings and games, and its setup wizard configures matrix wiring by asking what you see instead of asking for settings. I'm not aware of a WLED matrix app on F-Droid that does this.
Checklist
Policy
- The app complies with the inclusion criteria. Note the declared anti-features below.
- The original app author has been notified (and does not oppose the inclusion). I'm the author.
- The upstream app source code repo contains the app metadata in a Fastlane folder structure (
fastlane/metadata/android/en-US: title, short and full description, icon, feature graphic, screenshots, per-versionCode changelogs).
Docs
- Please read the guide first if this is your first contribution.
- Please make sure your metadata follows the best practice in our templates. Based on the Flutter template.
- Please read the Build Metadata Reference and make sure your metadata is valid.
- Please read the Quick Start Guide.
Merge Request Setup
- The title of this merge request should follow "New app: app name" format.
- Please make sure your fdroiddata fork is public and your branch is not protected.
- Please read our Git guide.
- All related fdroiddata and RFP issues have been referenced in this merge request. (None exist.)
- Please only submit one app in one MR.
Metadata
- Metadata must be put in
metadata/<applicationId>.yml. - Metadata must be a valid YAML file. (
fdroid lintandfdroid rewritemetapass.) - Metadata must use LF as line ending.
- Don't add summary/description/changelog/images or anything that should be provided in upstream repo.
- Releases are tagged and auto update is enabled unless there is a special reason.
- There is an issue tracker and contact info of the author.
- An AuthorName must be added.
- External repos are added as git submodules instead of srclibs. (None; only the standard
fluttersrclib.) - Enable Reproducible Builds. Not enabled, please sign with the F-Droid key. Upstream releases use APK Signature Scheme v3 key rotation (old key on v2 for Android 7–8, new key on v3 with a lineage for 9+), and fdroidserver currently rejects APKs whose v2 and v3 signers differ.
- Setup abi split if the APK is large. arm64-v8a only for now, built with
--split-per-abi(VercodeOperation: '%c + 2000'matches Flutter's arm64 code and ourchangelogs/<2000+N>.txt). Happy to add armeabi-v7a/x86_64 builds if you prefer. - Only the latest versions should be kept in the metadata before it's merged.
- Don't add any disabled versions in the metadata.
- The
commitfield should be the full hash.
Anti-features and scanner
- NonFreeAssets: the app bundles an imported pixel-art collection (12,273 animations) included with its creator's permission but not under a free licence. The code (MIT) and the rest of the art (original, CC0 and public-domain) are free.
- NonFreeNet: links to Discord and GitHub; optional catalog updates from GitHub Pages. Device control works fully offline on the local network. Weather uses Open-Meteo (AGPL, self-hostable) only when the user adds a weather card.
scanignore: catalog_assets/imported: those 12,273 files are animation data, a small header plus raw RGB frames, gzip-compressed (docs/IMPORTED_COLLECTION.md), not code or libraries. The scanner flags every gzip file as an archive.- All pub dependencies are FLOSS (MIT/BSD/Apache, one MPL-2.0); no Google Play Services, Firebase or proprietary SDKs.
Pipeline
- Built and verified before submission with fdroiddata's CI steps (
fdroid lint,fdroid rewritemeta,fdroid build --verbose --test --refresh-scanner --on-server) inregistry.gitlab.com/fdroid/fdroidserver:buildserver-trixie:Successfully built dev.spandankumar.glyph:2021. - All pipelines should pass. (Will confirm on this MR's pipeline.)
- All warnings and errors in the Reports tab should be fixed or explained.


