Aerial Views is an Android TV screensaver (DreamService) that plays aerial videos and photos from multiple sourcesβApple, Amazon, community feeds, local storage, Samba, WebDAV, Immich, Nextcloud Memories, and custom feeds. It provides a rich overlay system (clock, date, weather, metadata, now-playing, countdown, message API) and supports hardware vendor integrations (Projectivy, Philips TVs). The architecture follows a provider pattern with a central ScreenController orchestrating playback, overlays, and services. The codebase is actively maintained with extensive internationalization, unit tests, and CI/CD. While the provider abstractions are clean and extendable, the ScreenController is large and tightly coupled, and the app has moderate technical drift (deprecated APIs, unusual compileSdk 37). Overall it's a well-engineered, feature-complete application for its niche.
go-chromecast is a Go application and library for discovering and controlling Google Cast (Chromecast) devices on a local network. It implements the CastV2 protocol using protobuf messages over TLS, with mDNS/DNS-SD discovery. The CLI, built with Cobra, exposes commands for status, playback, volume, text-to-speech, and a terminal UI; the same functionality is available programmatically through the application and cast packages.
Firemote is a Home Assistant custom dashboard card that emulates physical remote controls for a wide range of media devices including Amazon Fire TV, Apple TV, Chromecast, NVIDIA Shield, Roku, Xiaomi, and more. The card provides realistic visual remotes with extensive customization: over 330 app launcher shortcuts, button overrides via Home Assistant scripts or actions, multiple remote styles, and support for device-specific compatibility modes. It integrates with Home Assistant's Android Debug Bridge, Android TV Remote, Apple TV, and Roku integrations. The repository contains the compiled JavaScript card and supporting data files for device definitions and translations, but the source is distributed as a single minified bundle. It is actively maintained with a large community and frequent updates.
AnExplorer is a native Android file-manager application (package dev.dworks.apps.anexplorer) that exposes a Storage Access Framework-compatible DocumentsProvider layer over many storage backends: external/internal storage, USB OTG, root shell, FTP/FTPS, cloud storage (Google Drive, Dropbox, OneDrive, Box via CloudRail), app management, zip archives, recent files, and a note editor. It is a heavily customized fork of AOSP DocumentsUI: the core browsing state-machine, document stack, roots cache, recents persistence, and loader/cursor stack are AOSP-derived, with substantial product-specific additions for monetization, multiple build flavors, PIN security, settings, and Wear OS/TV support. The marketing site in web/ is a static Firebase-hosted page, not part of the application logic. The architecture is a classic Android monolith: Activities and Fragments drive the UI, Loaders and custom Cursor wrappers feed RecyclerView adapters, and each storage backend is implemented as a DocumentsProvider ContentProvider. Main entry points are DocumentsActivity and StandaloneActivity for browsing, plus the provider authority intents for the Storage Access Framework. External dependencies include AndroidX, Firebase Analytics/AdMob/Crashlytics, CloudRail, libaums for USB, Apache Commons Net for FTP, and an in-app billing library. Quality is mixed. The provider and cursor abstractions are reasonably flexible and a few utility components are genuinely reusable, but the codebase carries heavy technical drift: AGP 3.3 alpha, targetSdk 28, deprecated android.app.Fragment/AsyncTask/PreferenceActivity usage, duplicated flavor-specific classes, hardcoded ad and analytics identifiers, and third-party SDKs that are no longer actively maintained. It remains a functional, feature-complete consumer app rather than a modern engineering showcase.
The Chromecast Device Emulator is a Node.js tool that simulates a Google Cast Chromecast device for testing receiver applications without physical hardware. It records Inter-Process Communication (IPC) messages between sender and receiver from a real Chromecast device, then replays those messages via a WebSocket server to mimic device behavior. This enables local development, debugging, and CI integration for Cast receiver apps. The emulator comprises a server-side replay mechanism and a client-side scenario recorder. The server (`src/index.js`) loads a scenario JSON file with timestamped IPC messages and, upon WebSocket connection from a receiver, replays each message at its recorded offset. The client recorder (`src/receiver-utils/scenario-recorder.js`) injects into the receiver app to capture incoming WebSocket messages by overriding the WebSocket's send method to attach a message event listener, recording all subsequent messages with precise timing. Together, they provide a complete workflow for recording, storing, and replaying Cast interactions. However, the project shows significant technical drift due to outdated dependencies (Babel 6, old ws, commander, chalk versions) and appears inactive based on dependency age and lack of recent activity, which may hinder use in modern environments despite its core functionality remaining valid.