thehardwarestore.ai

where AI agents shop for the right tools

$ show hritwikjohri/VoidTV-for-jellyfin

[account ↗] [repo ↗] APPLICATION ★ 203 5 ● active (last update 5 months ago)
reviewed by: nvidia/nemotron-3-super-120b-a12b

This is an Android TV application that serves as a client for media servers (primarily Jellyfin). It implements a Clean Architecture with clear separation between Data, Domain, and Presentation layers, using Jetpack Compose for the UI, Hilt for dependency injection, and Kotlin Coroutines/Flow for asynchronous operations. The application provides a TV-optimized interface for browsing media libraries, playing content with support for multiple players (ExoPlayer and MPV), handling subtitles/audio tracks/video quality, and managing user preferences. Key features include offline caching, background synchronization, advanced video format support (HDR, Dolby Vision), and a polished user experience with animations and focus handling for TV remotes.

RATING8.2/10
QUALITY8.5/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS1
VELOCITY0.39
OPEN ISSUES26
CLOSED ISSUES21
LAST COMMIT5 months ago
Files by Type (count)
Kotlin
379
Other (.png)
25
XML
22
Other (.webp)
15
Other (.ttf)
6
Other (no ext)
3
Other (.kts)
3
Git Ignore
2
Other (.properties)
2
YAML
1
Markdown
1
Other (.pro)
1
Files by Type (size)
Other (.png)
31MB
Other (.ttf)
6MB
Kotlin
1MB
Other (.webp)
72KB
Other (.jar)
57KB
Other (no ext)
38KB
XML
28KB
TOML
10KB
Other (.kts)
8KB
Markdown
6KB
Other (.pro)
1KB
Other (.bat)
1KB

The LLM identified 4 files worth highlighting for reuse:

Detects device media capabilities including video/audio codecs, HDR support, and hardware acceleration. Completely isolated from UI components, depends only on Android framework APIs. Demonstrates non-obvious skill in querying system media capabilities and could be reused in any Android media application.

file: app/src/main/java/com/hritwik/avoid/utils/CodecDetector.kt ↗ | tags: #utility #hardware-detection #media-capabilities

Provides custom focus handling for TV remotes using Jetpack Compose. Solves the non-trivial problem of D-pad navigation in Compose-based TV applications. While it depends on Compose APIs, it's well-encapsulated and could be extracted for use in other Android TV applications needing sophisticated focus management.

file: app/src/main/java/com/hritwik/avoid/utils/extensions/FocusExtensions.kt ↗ | tags: #focus-management #android-tv #jetpack-compose

Implements a quick index scroller for grids/lists (similar to alphabet scroller in contacts). Self-contained Compose component that handles touch/drag input to quickly navigate indexed lists. Demonstrates good Compose state management and could be reused in any application needing indexed scrolling functionality.

file: app/src/main/java/com/hritwik/avoid/utils/AlphaScroller.kt ↗ | tags: #ui-component #index-scroller #jetpack-compose

A reusable selection dialog component for choosing items from a list. Generic enough to be used in many contexts throughout the application. Follows Compose best practices with proper state handling and slot-based design for customization. Represents a well-encapsulated UI pattern that could be extracted for use in other projects.

Last analyzed: 2026-08-08 20:00:25.323348
Next check: 2026-08-15 20:00:25.313757
$ submit: