No description
  • Kotlin 90.4%
  • Java 8.8%
  • HTML 0.4%
  • CSS 0.2%
  • Perl 0.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-07-13 13:00:36 +02:00
.forgejo/ISSUE_TEMPLATE Add: Forgejo/Codeberg issue templates 2025-10-14 01:08:07 +02:00
.github Update android.yml 2025-07-27 15:50:45 -06:00
app Include native debug symbols in release builds (for 2.0.1) 2026-07-13 13:00:36 +02:00
fastlane/metadata/android/en-US Add 2.0.0 store screenshots, icon, and distribution assets 2026-07-12 19:36:15 +02:00
google-gsa fix(overlay): keep feed overlay non-focusable to allow launcher keyboard input 2026-07-11 23:53:07 +02:00
gradle feat(summary): improve model compatibility, caching, and UX 2026-07-12 17:26:24 +02:00
plugin-api feat: rebrand to VibeFeed, add plugin architecture, Mastodon re-auth, and new icon 2026-07-12 16:30:11 +02:00
plugins feat(summary): improve model compatibility, caching, and UX 2026-07-12 17:26:24 +02:00
.gitignore Release 2.0.0: VibeFeed rebrand, plugin architecture, new icon, and store metadata 2026-07-12 19:28:25 +02:00
badge_github.png update readme 2022-12-25 21:17:14 -06:00
badge_izzy.png update readme 2022-12-25 21:17:14 -06:00
build.gradle.kts Update libraries 2025-07-19 12:20:44 -06:00
CHANGELOG.md 1.9.0 2025-11-09 15:49:32 +01:00
FDROID_DRAFT.yml Release 2.0.0: VibeFeed rebrand, plugin architecture, new icon, and store metadata 2026-07-12 19:28:25 +02:00
get_codeberg.svg Update: Revamp README 2025-08-07 00:10:40 +02:00
get_fdroid.svg Update: Revamp README 2025-08-07 00:10:40 +02:00
get_github.svg Update: Revamp README 2025-08-07 00:10:40 +02:00
get_iod.svg Update: Revamp README 2025-08-07 00:10:40 +02:00
get_taiga.svg Update: Revamp README 2025-08-07 00:10:40 +02:00
gradle.properties Update libraries 2025-07-19 12:20:44 -06:00
gradlew Update libraries 2025-07-19 12:20:44 -06:00
gradlew.bat Update libraries 2025-07-19 12:20:44 -06:00
LICENSE Update LICENSE 2020-01-17 23:49:30 +02:00
local.properties Fix permission dialog 2026-03-07 20:27:03 -06:00
neo_banner.png Update: Identity to Neo Feeder 2022-09-14 04:16:29 +02:00
PLAY_DATA_SAFETY.md Release 2.0.0: VibeFeed rebrand, plugin architecture, new icon, and store metadata 2026-07-12 19:28:25 +02:00
PRIVACY_POLICY.md Release 2.0.0: VibeFeed rebrand, plugin architecture, new icon, and store metadata 2026-07-12 19:28:25 +02:00
README.md Remove IzzyOnDroid from distribution list 2026-07-12 22:11:40 +02:00
RELEASE_NOTES_2.0.0.md Shrink release APK by filtering to arm64-v8a and armeabi-v7a 2026-07-12 20:00:33 +02:00
settings.gradle.kts feat: rebrand to VibeFeed, add plugin architecture, Mastodon re-auth, and new icon 2026-07-12 16:30:11 +02:00

VibeFeed icon
VibeFeed Codeberg

Custom Google Discover Feed replacement for launchers!

VibeFeed is a fork of Neo Feed.
The original project lives at NeoApplications/Neo-Feed. This fork was created to experiment with new features and fixes that go beyond the upstream scope.

GitHub repo stars GitHub License

Get it on Codeberg F-Droid Google Play

2.0.0 release highlights 🚀

VibeFeed 2.0.0 is the first release under the new name. It ships with a plugin architecture, an on-device AI summary plugin, a Mastodon timeline plugin, adaptive sync, keyword alerts, image caching, and a new icon. See fastlane/metadata/android/en-US/changelogs/2000.txt for the full changelog.

Distribution

VibeFeed is built to be available from several channels:

  • Codeberg Releases — APK and AAB downloads, source archives, and release notes:
    https://codeberg.org/johanneswilm/VibeFeed/releases
  • F-Droid — metadata and build recipe draft are prepared; a merge request to fdroiddata is the next step.
  • Google Play — the signed AAB (app-release.aab) and store assets are prepared for upload to the Play Console.

A privacy policy for the store listings is provided in PRIVACY_POLICY.md.

About this fork

This is a community-maintained vibe-coded fork using open weights models (such as Kimi k2.7 code) for coding that keeps the original feed-replacement functionality and adds a number of fixes and features that have not yet landed upstream:

  • New name and identity — Rebranded as VibeFeed with its own package id (com.saulhdev.vibefeed) so it can be installed alongside the upstream app.
  • Plugin architecture — Adds an internal plugin system. Compile-time plugins ship with the app, and the same API can be used by separate APK packages in the future.
    • Mastodon source plugin — Adds a Mastodon home timeline as a feed source. Per-source filters include:
      • Must contain a link — only show posts that include at least one URL.
      • Must contain a picture — only show posts that include an image.
      • Hide replies — hide replies and show only original posts.
    • On-device AI summary plugin — Summarizes articles locally with an open-weight model via MediaPipe LLM Inference. The model is downloaded only after the user enables the plugin and provides a model file.
  • Adaptive sync frequency — Refreshes more often when you actively use the feed and less often overnight or on metered networks.
  • Keyword alerts — Notifies you once when a new article contains a specific word, even if the article appears in multiple feeds.
  • Image caching — Keeps article images on the device so they are available offline.
  • Image fallback — If a feed item has no image, VibeFeed tries to extract one from the linked article.
  • Per-feed image filter — RSS feeds can be set to hide items without an image.
  • Keyboard fix — Resolves the long-standing bug where the on-screen keyboard would not appear in a launcher's app drawer while the feed overlay was enabled (upstream issue #56).
  • Folder crash fix for Neo-Launcher — Applies the matching folder-crash fix to Neo-Launcher so app folders open reliably again.
  • Sort & filter fixes — The filter sheet now correctly pre-selects the current sort direction, source/tag filters apply immediately when toggled, and chronological sorting uses clearer "Newest / Oldest" labels.
  • HTTP → HTTPS feed handling — New feeds default to https://, existing http:// feed URLs are upgraded on sync, and cleartext traffic is permitted so misconfigured servers (e.g. SCMP's https → http → https redirect chain) no longer fail to sync.
  • Last-updated status — The top bar shows how long ago feeds were last synced (e.g. "Last updated: 3h20 ago") instead of a static app name. You can choose whether this reflects the last sync of any feed or all feeds.
  • Mastodon import handling — OPML exports that include Mastodon feeds are imported with their source type and filters preserved. If the Mastodon plugin is not enabled, those feeds are imported disabled and you are offered a one-tap enable.
  • Mastodon re-authorization — Imported or migrated Mastodon accounts can be re-authorized from the source editor without creating duplicate feeds.
  • Expanded suggested feeds — Adds new suggested-feed catalogues, including Scandinavian, German, and more Spanish-language sources.
  • Global blocked words — Adds a global word filter so you can hide articles containing terms you are not interested in.

Screenshots

Feed list Launcher overlay
Feed list Launcher overlay
Settings Plugins
Settings Plugins

More screenshots are in fastlane/metadata/android/en-US/images/phoneScreenshots/.

Debug test builds are published on the GitHub Releases page and on Codeberg Releases.

Supported launchers

Any launcher with custom feed provider support. For example:

  • Neo Launcher
  • LawnChair
  • Shade Launcher

Special Thanks ❤️

Neo Collective as the upstream maintainers. Hopefully they'll merge all our PRs. :)

iTaysonLab as the project is a fork of his HomeFeeder.

DrawerOverlayService as base for overlay service.

Helena Zheng & Tobias Fried for the great Phosphor Icons, we gladly use.

Contributors 🤝

Icons of contributors to Neo Store

Copylefted Libre License 📜

Licensed under the GPLv3+.

Copyright © 2025 Saul Henriquez & Antonios Hazim