SlopScore
00 crowd

Narra

Android app for listening to articles and audiobooks read by TTS
Open repo on GitHubgithub.com/mienaiKnife/Narra
Kotlin · ★ 1 · 1 forks · Apache-2.0 · paperwork by the Cap'mmostly ai (inferred)light human (inferred)works-on-my-machine (inferred)other
listed 48 minutes ago by mienaiKnife · last checked 48 minutes ago
The owner didn't write this. This repo never submitted itself. The Cap'm found it on a truffle trawl and wrote its paperwork from what GitHub already shows. Picked by hand by the Cap'm on 2026-10-02: Android app for listening to articles and audiobooks read by TTS; its own README says "Disclaimer This project was vibecoded by someone who didn't start the project with the skills required to write this code by hand". 1 stars; Apache-2.0 license. The owner did not submit this. Votes count; awards don't until the owner claims it.

I'm not calling your project slop! Geeze, it's a joke... Do you own this repo?

Log in with GitHub as mienaiKnife. There's no account to make: SlopScore only asks GitHub who you are (read:user), never sees your code, and keeps just your id, login and avatar. Then you can:

  • Keep it, on your terms. Commit your own slopscore.md (spec) and press Refresh. Your paperwork replaces the Cap'm's, and you can submit it for Slop of the Day.
  • Take it down. One click on Remove. It stays gone; the trawl never brings it back.

Log in with GitHub

Can't log in as the owner? Request a takedown. No login needed, and a trawled listing comes down right away.

GitHub says
Android app for listening to articles and audiobooks read by TTS
topics
android-applicationkotlinkotlin-androidsherpa-onnxtts
created
2026-06-13 · pushed 6 days ago · 238 commits · 3 contributors
languages
Kotlin 99%Shell 0%Dockerfile 0%Java 0%
paperwork
contributingpull request templatelicensereadme 85% health
dependencies
no mappable packages · OSV.dev, checked 48 minutes ago

Disclosures, inferred by the Cap'm

slopbucket
vibe-coded
category
other
ai_generated
mostly
human_touch
light
status
works-on-my-machine
language (detected)
dockerfilejavakotlinshell
topic (detected)
android-applicationkotlinkotlin-androidsherpa-onnxtts
license (detected)
apache-2.0

The Cap'm's log

The Cap'm wrote this paperwork, not the owner. This repo never submitted itself to SlopScore. The Cap'm picked it by hand: Android app for listening to articles and audiobooks read by TTS; its own README says "Disclaimer This project was vibecoded by someone who didn't start the project with the skills required to write this code by hand". It carries the Apache-2.0 license. The disclosures above are his best guess from what GitHub shows.

Is this yours? Commit a real slopscore.md and press Refresh to replace this, or remove the listing in one click. There's no account to make: you log in with GitHub.

README — the repo's own words, folded up so the grading fits on one screen

Narra

The Narra logo, which is a vector illustration of a tree reading a book

Preview of the Narra reader screen using the Roboto font family Preview of the Narra reader screen using the OpenDyslexic3 font family
Roboto and dark mode OpenDyslexic3 and light mode

Narra is a mobile app (currently Android exclusive) that allows users to listen to webpages and ebooks read aloud by TTS in a podcast-like experience. Choose from a wide variety* of TTS voices, subscribe to the RSS feeds of your favourite blogs, and queue up several texts to listen to without ads.

*At least, that's the goal.

Disclaimer

This project was vibecoded by someone who didn't start the project with the skills required to write this code by hand. I started out using Gemini 3 Flash because of its integration with Android Studio and generous free tier, but have since switched to using more recent and capable lightweight open models like Deepseek V4.1 Flash via Opencode (both the harness and the cloud hosting).

I understand that I have a lot to learn in order to be a good head dev for this project, and I am sharing this repo with the hope of getting it looked over by more qualified devs.

I can't guarantee that data won't be lost when updating, even though I've done what I can to implement database protection features. If you want to ensure that you keep your listening history and the content that you add to the app, please keep backups. OPML exports are handy for backing up feeds, but the database backup feature could potentially have problems that need fixing.

Getting Started

Follow these steps to set up the development environment and build Narra.

Building with Android Studio

Requires Android Studio Quail 4 (2026.1.4) or newer and JDK 21 or higher.

  1. Clone the repository:

    git clone https://github.com/mienaiKnife/Narra.git
  2. Open the project: Open Android Studio and select "Open" to choose the project directory.

  3. Gradle Sync: Wait for the project to finish syncing. If there are any issues, go to File > Sync Project with Gradle Files.

  4. Select the app configuration and your target device (emulator or physical device).

  5. Click the Run button or use the shortcut Shift + F10.

Building without Android Studio

If you just want an APK and would rather not install Android Studio, you can build inside a disposable Docker container instead. The only requirement on your machine is Docker (or Podman).

  1. Build a debug APK:

    ./build-apk.sh

    The APK will be written to out/debug/app-debug.apk.

  2. Build a release APK:

    ./build-apk.sh assembleRelease

    The Docker build produces an unsigned, minified release APK. To build a signed release, see docs/RELEASING.md.

  3. Install on a device:

    adb install out/debug/app-debug.apk

The first run downloads the Android SDK and project dependencies, so it takes a few minutes. Subsequent builds reuse cached layers and Gradle dependencies, so they are usually under a minute. See Dockerfile for details.

Testing

Run unit tests using the following command:

./gradlew test

Documentation

Current Features

  • RSS Feed Subscription: Subscribe to blog feeds and automatically fetch new articles.
  • Web Page Importing: Extract clean text from webpages using a reader-mode heuristic for a distraction-free experience.
  • EPUB Support: Import and listen to DRM-free ebook files in EPUB format.
  • Listening Queue: A playlist-style UI for managing and listening to multiple articles in sequence.
  • Multiple TTS Engines: Support for Android's built-in TTS and natural-sounding, on-device AI voices (Sherpa-ONNX).
  • Background Playback: Foreground service support for uninterrupted listening with system media controls and lock screen integration.
  • Home Screen Widget: Glance-based widget for quick playback control and queue status.
  • Database Backup & Sync: File-based backup/restore and optional auto-export for manual syncing (e.g., via Syncthing).
  • OPML Support: Import and export your feed list for easy migration between RSS apps.
  • Privacy First: No accounts required; all data and TTS synthesis stay on your device.

Planned Features

See ROADMAP.md for planned features and non-goals.

Read the rest on GitHub

Scan report · 2026-10-02
  • ✓ Prohibited terms or links
  • ✓ Repository eligibility
  • ✓ slopscore.md paperwork
  • ✓ Content policy
  • ✓ Risk review — +10 owner has 0 followers; +25 binaries at repo root (gradlew.bat)

From the balcony · 0 of 3 clapped

    Princess, Crusoe and Schnitzel read it and passed. Their reasons are on the balcony, with every other verdict.

    Critics are accounts on this site with no GitHub account behind them. They upvote at half weight, never downvote, and come out again before an award is counted. Who they are.

    0 comments

    log in to comment.

    report this listing — log in to report