EinkBro: a WebView browser built to remove animations
A small, fast web browser based on Android WebView. It's tailored for E-Ink devices but also works great on normal android devices.
At a glance
- What is it?
- A small Kotlin browser for Android that wraps the platform WebView, strips transitions for E-Ink panels, and carries an ad blocking client inside the same tree. Right fit for an e-reader, wrong fit for a phone where motion cues still matter.
- Who is it for?
- EinkBro earns its place on an e-reader or note device that runs Android, where dropping transitions and drawing only black and white icons is the entire point, and for anyone who wants one small APK with a bundled ad filter. It is the wrong choice on a modern phone, where the missing motion reads as sluggishness, and for desktop or iOS users.
- Can I use it commercially?
- Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
- Is it still maintained?
- Yes. The repository last received commits 6 days ago.
- What is it written in?
- Mainly Kotlin, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.
Star history
- plateaukao/einkbro2,039 ★ · +11
| Repository | 2026-10-13 | 2026-10-22 |
|---|---|---|
| plateaukao/einkbro | 2k | 2k |
11 Stars in the last 9 days, measured from the daily GitHub snapshot. Compare with other projects
Editorial analysis
E-Ink tuning is the product, not a theme
EinkBro is a Kotlin browser for Android that wraps the platform WebView and strips out the motion a mainstream browser spends its budget on. The stated design target is narrow: no unnecessary UI transitions or animations, clear black and white icons, and a feature set pointed at reading rather than tab juggling. Mainstream Android browsers assume a high refresh panel and treat scroll physics as part of the interface, so this is a different contract rather than a theme switch. The project's own claim that it also works great on ordinary Android hardware pulls against those defaults, because on a normal phone you get a browser that has deleted cues most readers take for responsiveness. The audience is correspondingly specific: owners of e-readers and note devices whose panels punish animation, plus anyone who wants a small APK with no sign-in attached.
Everything renders through the platform WebView
Nothing in the repository is a browser engine. The description calls EinkBro a browser based on Android WebView, and the Kotlin code sits under a single app module, so the engine is whatever the device already carries. Rendering behaviour, site compatibility and video support therefore shift when the system WebView shifts, and the application cannot pin any of it, which is the price paid for the small binary. The tree also shows that this is not one Kotlin codebase: beside app/ sit adblock-client/, an ad-filter/ corpus, js-tests/ for the rule lists and test_server/ to exercise them, with gradlew, gradlew.bat, build.gradle.kts and settings.gradle.kts at the root plus a separate mainframer.sh. Gradle itself is configured through build.gradle.kts, settings.gradle.kts and gradle.properties, and docs/ sits in the root as well, so build configuration and published documentation are versioned together.
An ad blocking client shipped without a README mention
The filter side is the part a skim misses. No screenshot or feature line in the README points at ad blocking, yet the repository carries a blocking client, a rule corpus and its own test harness, which puts filter maintenance inside this project instead of in a plugin bolted on later. What the README does not document is where the list originates, how often it refreshes, or where the toggle sits in the interface, so anyone running the filter has no stated answer about staleness. There is also no mention of per-site exceptions, of a hosts file export, or of a way to feed your own rules into the corpus. The presence of js-tests/ and test_server/ means the rules are exercised against a local server rather than shipped as a flat list, which suits anyone planning to modify them and suits nobody who only wanted an APK.
Getting the build: F-Droid, a docs site, and no instructions
Almost nothing about installation is written down. The project distributes through F-Droid under the package id info.plateaukao.einkbro, and publishes documentation at plateaukao.github.io/einkbro with a Traditional Chinese manual under /zh-tw/index.html. Those two destinations are what the README names, and there is no line about a minimum Android version, no adb install command and no step for building from source:
https://f-droid.org/packages/info.plateaukao.einkbro/
https://plateaukao.github.io/einkbro/The documentation site is where any setup detail would live, so read it before searching the repository for build steps. Against that, the tree contains ic_launcher-playstore.png and store artwork under fastlane/metadata/android/en-US/images/icon.png, yet the README carries no Play Store badge, so any distribution through that store stays undocumented.
mainframer.sh and fastlane carry the shipping work
Shipping runs through tooling that lives in the repository rather than through a hosted CI page. The fastlane/ directory holds store metadata, mainframer.sh runs beside the Gradle wrapper, and .travis.yml sits next to .github/, so two CI configurations share one tree. The last push was on 2026-09-30, carrying the snapshot tag at commit 8b17397, and the two numbered builds before it were v16.6.0 on 2026-09-01 and v16.7.0 on 2026-09-15. Governance is the odd part: the project ships a custom licence that GitHub cannot classify, which sits awkwardly beside a README that calls its FOSS Browser origin fully free/libre.
AGENTS.md, CLAUDE.md and ideas.txt in the published root
The published root is a working surface rather than a curated one. AGENTS.md and CLAUDE.md sit at the top level next to CONTRIBUTING.md and CODE_OF_CONDUCT.md, so the repository carries its own written instructions for coding agents and a reader can see them without opening a single source file. Alongside them are tools/, scripts/, test_server/, screenshots/ and ideas.txt, the kind of scratch file that normally never leaves a working copy. Even the root keeps loose artefacts such as gradle.properties and ic_launcher-playstore.png, so the published tree sits close to the working tree rather than being pruned. Documents the README never points to sit in the same row: PRIVACY.md, FAQs.md, ROADMAP.md and SCREENSHOTS.md. None of their contents are summarised on the front page, so what the app sends off the device and what the roadmap plans both stay outside what a first-time reader is told.
Where the E-Ink defaults become the wrong choice
This is the wrong tool in several specific cases. Anyone on a desktop, on iOS, or on an Android device without a WebView has nothing to install, because the project is a single Kotlin app module distributed as an APK. Anyone who wants extensions finds no documented model for them. Anyone who wants the standard web experience meets a downgrade rather than a feature, since the motion that signals where a panel came from is exactly what the design removes. FOSS Browser at codeberg.org/Gaukler_Faun/FOSS_Browser is the alternative when ordinary behaviour and none of the E-Ink tuning will do, and the real difference between the two projects is that removal plus the bundled filter client, not a different engine, since both draw through the platform WebView.
Editorial conclusion
EinkBro earns its place on an e-reader or note device that runs Android, where dropping transitions and drawing only black and white icons is the entire point, and for anyone who wants one small APK with a bundled ad filter. It is the wrong choice on a modern phone, where the missing motion reads as sluggishness, and for desktop or iOS users. Check three things first: whether your device's WebView renders the sites you visit, what PRIVACY.md says about what leaves the device, and whether the rules under ad-filter/ are recent enough. Source the APK from F-Droid under info.plateaukao.einkbro.
Frequently asked questions
What is EinkBro built on, and what does that mean for browser engine updates?
EinkBro is a Kotlin browser for Android built on the platform WebView, so the engine is whatever WebView the device already carries. Nothing in the project pins that engine, and rendering behaviour changes when the system WebView package is updated.
Does EinkBro work on a normal Android phone or only on E-Ink devices?
The project description says it is tailored for E-Ink devices but also works great on normal Android devices, while the README commits to no unnecessary UI transitions and animations and to clear black and white icons.
Where can I download EinkBro, and where are its documentation pages?
The README points at F-Droid under the package id info.plateaukao.einkbro and at a documentation site that also carries a Traditional Chinese manual. No Play Store badge appears in the README, so distribution beyond those two destinations is not documented.
Does EinkBro include ad blocking, and where do its filter rules come from?
The repository contains an adblock-client directory, an ad-filter corpus, js-tests and a test_server, so filtering is part of the project. The README never mentions ad blocking and does not document the origin of the rules or how often they refresh.
Can I build EinkBro from source on my own machine?
The README gives no build steps and states no minimum Android version. The root does carry gradlew, gradlew.bat, build.gradle.kts and a separate mainframer.sh, so the entry points exist even though the sequence is not written down anywhere in the front page.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/plateaukao-einkbro)Star history chart for your README
[](https://hysenlabs.com/projects/plateaukao-einkbro)