Turms is a production-grade, open-source instant messaging engine designed for 100K to 10M concurrent users. The system follows a microservices architecture with two core Java/Spring Boot servers: turms-gateway (handles client connections, authentication, session management, and push) and turms-service (implements business logic for messaging, groups, users, conversations, storage, and admin API). Both servers are built on a reactive stack (Project Reactor, Netty) for non-blocking I/O and high throughput. The platform includes a Vue.js admin UI (turms-admin), multiple client SDKs (JavaScript, Kotlin, Swift, Dart, C++), a Flutter chat demo, and a plugin system for extensibility (anti-spam, push notifications, MinIO storage, Rasa chatbot, LiveKit conferencing). Data is stored in MongoDB (sharded), Redis (session, blocklist, sequence IDs), and optionally Elasticsearch for full-text search. The codebase demonstrates strong engineering practices: custom RPC codecs for cluster communication, a property metadata framework for configuration validation, thread-safe rate limiting, and a well-defined plugin extension point system. While primarily an application, it includes an AI serving module (PaddleOCR) for content moderation, but this is a minor component. The repository is actively maintained with frequent commits, comprehensive CI/CD pipelines, and Terraform deployment scripts.
Curbox is a digital wellbeing Android application that leverages AccessibilityService to monitor and intervene in user behavior. It blocks distracting apps, websites, keywords, and short-form videos (reels/shorts), enforces focus sessions (with pomodoro), applies grayscale filters, displays mindful message overlays, and hides UI elements via a custom domain-specific script engine. The app tracks detailed usage statistics (app, website, reel, focus) locally in Room and optionally synchronizes across devices using Supabase with end-to-end encryption (paywalled subscription). It provides anti-tamper features including device admin protection, uninstall prevention, and a settings change delay mechanism. The architecture is a monolithic Android app with multiple build flavors (F-Droid, Play Store, full) that gate features like cloud sync, UI hider, and device admin. It exposes an AIDL-based API for external apps. The codebase demonstrates strong engineering with reusable components like a custom script interpreter, encryption utilities, and pattern-based accessibility node selectors, but carries technical drift from deprecated Android APIs and hardcoded app-specific identifiers.
Chocola is an offline music player for Android built with Kotlin and Jetpack Compose. It provides a full-featured music experience: library browsing by albums, artists, playlists, and folders; playback with equalizer, speed/pitch control, sleep timer, and shuffle/repeat modes; synced lyrics display and editing; metadata editing; Android Auto support; and home screen widgets. The app uses Material 3 design with a distinctive 'cute' theme, custom navigation, and extensive localization. The architecture follows a typical Android MVVM pattern with Room for playlist persistence, DataStore for preferences, ExoPlayer/Media3 for playback, and Koin for dependency injection. It scans local media via MediaStore and SAF, applies configurable filters (minimum duration, hidden tracks, whitelisted folders), and uses TagLib for metadata editing. While the codebase is well-organized and demonstrates solid Android engineering, it relies heavily on experimental Compose APIs and a custom navigation library, which introduces some technical drift risk. Overall, it's a mature, actively maintained open-source project suitable for reuse of specific UI components and data-layer patterns.
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.
ONO is an Android Xposed module that modifies and enhances the QQ messaging application (Tencent). It provides a broad set of features including custom sticker panels, message encryption, anti-revoke, developer tools (packet inspection, cookie retrieval), UI tweaks (bubble redirect, profile card menu), and entertainment hooks (fake group owner, sport step spoofing). The module supports both legacy Xposed (API 51–99) and modern LSPosed (libxposed API 100) frameworks, with a dual-entry architecture that unifies startup through a shared `UnifiedEntryPoint` and `StartupRoutine`. Internally, it uses a sophisticated hook item framework based on annotations and a KSP annotation processor to automatically register hook classes. The codebase is heavily reliant on reflection and reverse-engineering of QQ's internal classes, making it tightly coupled to specific QQ versions, but the core utilities (reflection helpers, configuration management, protocol building) are well-crafted and potentially reusable in other Android hooking projects. The project is actively maintained with frequent commits, responsive issue triage, and a comprehensive build system using Gradle convention plugins.
androidqf is a Go-based Android forensic data acquisition tool designed to collect various types of data from an Android device via ADB. The tool automates the gathering of device properties, system logs, running processes, services, settings, diagnostic information, installed applications (with optional APK extraction), and device backups. It stores the collected data in a timestamped directory and optionally encrypts and compresses the archive using age encryption if a public key is provided. The application follows a modular architecture where each data collection task is implemented as a separate module adhering to a common interface. The core components include a cross-platform ADB wrapper that automatically deploys platform-specific binaries, an asset embedding mechanism for distributing native dependencies, and an acquisition manager that handles the lifecycle of data collection and secure storage. The tool interacts with the device through ADB commands, collects data into structured files and directories, and provides user prompts for configurable options such as backup scope and APK selection. Despite the README indicating the project is not maintained, the repository shows recent commit activity and the codebase demonstrates solid engineering practices. Dependencies are up to date, and the tool is built for cross-platform use (Windows, macOS, Linux) with automated build and release workflows. The modular design allows for extensibility, and the reusable components (such as the ADB wrapper and asset deployment) could be adapted for other projects requiring Android device interaction.
Spam Call Blocker is an Android application written in Kotlin that blocks unwanted incoming calls using a combination of local blocklists, pattern matching, and real-time checks against multiple online phone reputation services (UnknownPhone, Tellows, Truecaller, and regional directories). It registers a call screening service to intercept calls, evaluates them against user-defined rules and external APIs, and can block, mute, or answer-and-hangup spam calls. The app provides a full settings UI for managing blocked/whitelisted numbers, pattern-based blocking, API toggles, and export/import of configuration. It also includes a donation screen and automatic update checking via GitHub releases. The codebase is well-structured with clear separation of concerns, uses Kotlin coroutines for concurrent API checks, and supports multiple languages.
This repository is the canonical source of tldr-pages, a community-maintained collection of simplified man pages for command-line tools. It contains tens of thousands of Markdown files organized by language and platform, each providing concise usage examples for a CLI command. The repository also includes a suite of validation scripts, a build system for generating indexes and archives, and a client specification for consuming the pages. While primarily a documentation project, the tooling (Node.js and Python scripts) constitutes a small application layer that ensures consistency, quality, and automated releases. The repo supports translations in over 30 languages, with strict formatting and linting enforced by CI/CD pipelines. It is not a standalone application but the authoritative dataset and tooling for the tldr ecosystem.
Apktool is a command-line tool for reverse engineering Android APK files. It decodes binary resources (resources.arsc, AndroidManifest.xml, 9-patch images) back to nearly original form, disassembles DEX bytecode into Smali assembly using baksmali, and provides a rebuild pipeline that reassembles and signs the APK via aapt2 and apksigner. The tool manages Android framework APK installations to resolve resource references during decoding. The architecture is a multi-module Gradle project: a core library (apktool-lib) exposing programmatic APIs (ApkDecoder, ApkBuilder, ResTable, Framework), and a CLI wrapper (apktool-cli) that provides commands like decode, build, install-framework, and list-frameworks. Supporting libraries (brut.j.util, brut.j.dir, brut.j.yaml, brut.j.xml) handle I/O, directory abstraction, YAML metadata, and XML serialization. External dependencies include Google's aapt2 binary (bundled per platform) and the smali/baksmali libraries for DEX compilation. The codebase demonstrates deep knowledge of Android binary formats, with custom parsers for chunked resource tables, binary XML, and resource qualifiers, and includes extensive regression tests covering edge cases and security vulnerabilities.
SimpMusic is a production-grade Kotlin Multiplatform music player for Android and desktop (JVM) that streams from YouTube Music's undocumented backend. The codebase is organized around a shared Compose Multiplatform UI module (composeApp), Android entry points (androidApp), a desktop entry point (desktopApp), and optional feature modules for Google Cast, Last.fm scrobbling, and crash reporting. A separately referenced core submodule supplies domain and media-service logic. Internally it uses MVVM with Koin dependency injection, Repository interfaces backed by Room entities and DataStore, StateFlow-based ViewModels, and a large custom Compose component library covering home feed, library management, playlist sync, fullscreen player, lyrics, equalizer, podcasts, Android home-screen widgets, and a desktop mini-player. The app is shipped as a packaged consumer application with Play Store metadata, GitHub Actions, fastlane changelogs, and build variants that swap real integrations for empty stubs in FOSS builds.
AgentWeb is an Android WebView wrapper library that provides a fluent builder API (AgentWeb.with()) to configure and manage WebView instances with features like progress indicators, file upload, JavaScript bridge, video fullscreen, URL interception, and security controls. The architecture follows a modular design with core (agentweb-core), file chooser (agentweb-filechooser), and optional third-party downloader modules. Key architectural patterns include: builder pattern for configuration, middleware/decorator pattern for WebViewClient and WebChromeClient interceptor chains, and a reflection-based decoupling approach for the file chooser to avoid mandatory dependencies. The library abstracts common WebView pain points such as lifecycle handling, memory leaks, multi-process support, and device-specific bugs (e.g., Huawei, Android 5.0/5.1). The accompanying sample app demonstrates 20+ use cases including pull-to-refresh, VasSonic pre-rendering, IPC with separate processes, and custom indicators. The codebase shows strong engineering practices with clean separation of interfaces and default implementations, though it relies on some deprecated Android APIs and reflection that may require ongoing maintenance.
This repository is a collection of Android quickstart samples demonstrating various Firebase products. Each sample is a standalone Android application showcasing integration with Firebase services such as Authentication, Realtime Database, Firestore, Cloud Storage, Cloud Functions, Analytics, and more. The samples are provided in both Java and Kotlin, often with parallel implementations, and follow modern Android architecture patterns including ViewModels, Navigation Component, and Jetpack Compose in newer samples. The repository includes shared internal modules for common UI components (chooserx) and custom lint rules (lintchecks) to maintain code quality across samples. The primary purpose is to serve as educational resources for developers learning to integrate Firebase into Android applications.
FlorisBoard is a free and open-source Android keyboard (IME) application written in Kotlin with Jetpack Compose. In production it functions as a fully-featured soft keyboard service (FlorisImeService extends InputMethodService) with clipboard history management (Room-backed), emoji input with search and history, multi-language keyboard layouts (50+ locale JSON layouts), a custom extensions system for themes/keyboards/language packs, and a custom stylesheet-based theming engine called Snygg that powers all IME UI styling. The app also includes a settings activity (FlorisAppActivity) with ~30 configuration screens, a spell-checker service, backup/restore infrastructure, incognito mode, and a native Rust/JNI library scaffold for performance-critical work. The architecture is a multi-module Gradle build (:app, :lib:android, :lib:compose, :lib:kotlin, :lib:native, :lib:snygg) with a clear separation between the Android-specific app layer and reusable common KMP libraries.
This is a cross-platform software development kit (SDK) for rendering Adaptive Cards—a JSON-based card format used by Microsoft products like Teams, Outlook, and Cortana. The repository provides a shared C++ object model for parsing and serializing card definitions, along with platform-specific renderers for Android, iOS, UWP (WinUI), .NET (WPF), and Node.js. It also includes a templating engine for dynamic data binding, a visual designer tool, and multiple test applications. The architecture is a library/framework model: each platform has its own rendering layer that converts the parsed card model into native UI components. The codebase is large and well-organized, with clear separation between the shared model and platform implementations. However, feature parity across platforms is incomplete (e.g., v1.5 features are missing in .NET renderer), and there is significant duplication of logic across platforms, which introduces maintenance risk.
This repository is an Android application that bridges device events (SMS, MMS, missed calls, battery changes, app notifications) to a Telegram bot for monitoring and remote control. It uses the Telegram Bot API to forward events and long-polls for incoming commands to send SMS, USSD, list/read/delete SMS, fetch logcat, and more. The architecture is a monolith with multiple background services, broadcast receivers, and job scheduler jobs, all within a single Android app. It uses MMKV for key-value storage, OkHttp for HTTP, Gson for serialization, and libsodium for encryption. The codebase is well-structured with reusable utility classes (e.g., custom Mustache template engine, Telegram API wrapper, encryption helpers) and has unit tests for several components. It supports multi-language, QR code configuration import, and carbon-copy forwarding to external services via HAR format.
Android Code Studio (formerly AndroidIDE) is a full-featured Integrated Development Environment (IDE) designed to run natively on Android devices. It enables users to write, compile, and debug Android and Java applications directly on mobile hardware. The architecture is a modular monolith built with Kotlin and Java, utilizing a composite build system to bundle critical dependencies like the OpenJDK compiler, Logback, and XML parsers directly into the application rather than relying on external Maven repositories. Key functionality includes a custom code editor powered by Tree-sitter, a Language Server Protocol (LSP) implementation for Java and XML, a UI Designer for visual layout editing, and a terminal integration via Termux.
Packet is a GTK4/libadwaita desktop application for Linux that implements the Google Quick Share protocol, enabling wireless file transfer between Linux and Android devices. The application discovers nearby devices via Bluetooth and mDNS over Wi-Fi, and supports sending files, text, links, and Wi-Fi passwords. It integrates deeply with the GNOME desktop: a Nautilus plugin adds a "Send with Packet" context menu, a D-Bus API allows external control, and it can run in the background with a system tray icon. The codebase is written in Rust, using the `rqs_lib` library for the Quick Share protocol logic. The architecture follows a standard GtkApplication pattern with custom GLib object types for transfer state, asynchronous file operations using tokio, and a modular widget system for transfer cards. The code is well-structured overall, though the main window file is large and some FIXMEs indicate areas for improvement. The project has active maintenance, comprehensive localization (30+ languages), and a CI pipeline.
Animite is an unofficial Android client for AniList (with partial MyAnimeList support) for tracking anime and manga. The application is built with a modern Android stack: Kotlin, Jetpack Compose, Material3, Apollo Kotlin (GraphQL), Ktor (REST), DataStore, Hilt, and Coil. It features a multi-module architecture with clear separation of concerns: API layers, core UI components, navigation, and feature modules (explore, profile, media, settings, social, anime, manga, banner). The app supports browsing, searching, filtering, detailed media pages with dynamic theming (time-of-day based banner), user profile management, and list editing with drag-and-drop reordering. The codebase demonstrates strong modularity and reusable UI patterns, though it relies heavily on experimental Compose APIs and has a few code quality concerns (e.g., hardcoded credentials, large screen files, alpha version instability).
This is a Nintendo Switch emulator, a direct fork of the defunct yuzu emulator rebranded as 'Citron Neo'. It provides full system emulation through high-level emulation (HLE) of Switch system services, kernel, GPU (Vulkan), audio, and input. The application has three frontends: a desktop Qt GUI, an Android app (Kotlin/JNI), and an iOS app (Swift/Metal). It supports loading Switch game formats (NSP, XCI, NCA), executing ARM code via Dynarmic, and rendering graphics via Vulkan with custom post-processing (FSR, frame interpolation). The codebase is actively developed with additions like frame skipping, a mod manager, performance overlays, and debugger tools, but retains many stub implementations from upstream, indicating incomplete feature coverage. It is primarily a desktop emulator with mobile ports.
CloudStream is an Android media aggregation application that streams and downloads movies, TV series, and anime via a plugin-based provider system. The app has no built-in content; all media sources are provided by community extensions implementing `MainAPI` and `ExtractorApi` interfaces. The architecture comprises a Kotlin Multiplatform library defining plugin APIs and an Android app with ExoPlayer/Media3 playback, download manager, sync with tracking services (MAL, AniList, Kitsu, Simkl, Trakt), multi-source subtitle fetching, Chromecast support, and adaptive phone/TV UI. Content acquisition relies on web scraping: over 100 built-in extractors parse video hosting sites, often using JavaScript deobfuscation (via a custom JS interpreter) and AES decryption. The plugin system supports repository-based distribution, versioning, and binary compatibility checks. While the codebase is actively maintained and demonstrates good engineering practices (MVVM, coroutines, custom adapters), many extractors are brittle due to external site dependencies, and some modules exhibit tight coupling and deprecated API usage.