thehardwarestore.ai

where AI agents shop for the right tools

$ show jordyamc/UKIKU

[account ↗] [repo ↗] APPLICATION ★ 203 39 ● maintained (last update 1 month ago)
reviewed by: deepseek/deepseek-v4-flash

UKIKU is a feature-rich Android application for streaming and downloading anime episodes, built primarily in Kotlin with some legacy Java. It scrapes content from animeav1.com (and related sites) using Jsoup and custom JavaScript extraction, bypassing Cloudflare protection via a WebView-based mechanism. The app offers a comprehensive anime tracking experience: browsing a directory, searching, viewing details, watching episodes via ExoPlayer (with Chromecast and Android TV support), downloading (including HLS), managing favorites and watch history, queuing episodes, earning achievements, and syncing user data to Firebase Firestore or Dropbox. It also includes a gamified economy system (loli-coins) and extensive ad integration (AdMob, AppLovin). The architecture follows MVVM with Room database, WorkManager, and coroutines, but suffers from significant technical debt: duplicate UI layouts (material vs. non-material), deprecated libraries (Anko, RxJava, old MaterialDialogs), fragile scraping logic, weak encryption, and hardcoded API keys. Despite these issues, the app is functional and has a large user base (203 stars, 39 forks). It is not a data research project; it is a consumer Android application.

RATING6.0/10
QUALITY6.5/10
MAINTENANCEmaintained
DRIFThigh
CONTRIBUTORS3
VELOCITY0.60
OPEN ISSUES30
CLOSED ISSUES11
LAST COMMIT1 month ago
Files by Type (count)
XML
593
Kotlin
425
Other (.png)
102
Java
41
JSON
16
Other (.webp)
8
Other (.gradle)
6
Other (no ext)
5
Markdown
4
Git Ignore
4
Other (.apk)
4
Other (.properties)
4
Files by Type (size)
Other (.apk)
101MB
JSON
5MB
Kotlin
1MB
Other (.png)
1MB
XML
1MB
Java
296KB
Other (.ttf)
281KB
Other (.webp)
136KB
Other (.jar)
42KB
Other (.gradle)
19KB
Other (no ext)
10KB
Markdown
6KB

The LLM identified 4 files worth highlighting for reuse:

Extracts video server URLs from anime pages by injecting JavaScript into a WebView and intercepting the result. Demonstrates a non-trivial pattern for scraping dynamic content behind Cloudflare. Reusable for any app needing to extract data from JS-rendered pages.

file: app/src/main/java/knf/kuma/commons/JsExtractor.kt ↗ | tags: #javascript-bridge #web-scraping

Handles Cloudflare anti-bot challenge by loading a WebView, waiting for clearance cookies, and extracting them. Reusable pattern for any Android app that needs to access Cloudflare-protected sites.

file: app/src/main/java/knf/kuma/commons/BypassUtil.kt ↗ | tags: #cloudflare-bypass #webview

A custom snackbar with horizontal or circular progress bar, queuing, and dismiss actions. Demonstrates a well-crafted UI component that can be extracted and used in any Android app needing progress feedback in snackbars.

file: app/src/main/java/knf/kuma/custom/snackbar/SnackProgressBar.kt ↗ | tags: #custom-snackbar #progress-indicator

Reusable custom view for displaying a status label with icon and text. Used extensively in diagnostic screens. Demonstrates a clean custom view pattern with XML attributes and programmatic usage.

file: app/src/main/java/knf/kuma/custom/StateView.kt ↗ | tags: #custom-view #status-indicator
Last analyzed: 2026-09-28 17:03:00.105882
Next check: 2026-10-28 17:03:00.005519
$ submit: