Install
Two things: an APK and an address.
Android 8.0 or newer and a Memos 26.x instance you can reach. There is no account to create beyond your own instance, and nothing to configure first.
Requirements
- Android 8.0 (API 26) or newer, with or without Google services.
- A reachable Memos 26.x instance. Older versions do not speak the API this app uses.
- One server and one account per install.
Install the APK
- Download
mymemos-<version>.apkfrom the latest release. - Open it on the phone and allow installing from that app when Android asks.
- Install. The release build is signed and R8-minified: about 2.2 MB.
The release page also carries SHA256SUMS.txt and the changelog. Updates install in place as long as the signing key stays the same.
Sign in
Type the exact address of your instance, scheme included: http://192.168.1.10:8081 or https://memos.example.com. Nothing is guessed — a missing scheme is reported inline instead of being silently retried over the other protocol.
The password is used once, to mint a personal access token that the app stores and that does not expire. Signing out revokes it on the server.
Instances that only allow SSO with the password disabled cannot be used: the app has no way to mint its token there.
Build it yourself
- Clone
github.com/reddec/mymemosand run./build.sh :app:assembleDebug. - Install the result with
adb install -r app/build/outputs/apk/debug/app-debug.apk.
A normal ./gradlew with JDK 17+ and an Android SDK with platform 36 works too; ./build.sh is just a wrapper around a staged toolchain. Release builds are signed only when you create a key once with ./scripts/make-keystore.sh.
What is not there yet
- Spaces, notifications and memo relations are not implemented; server-side named views are not honoured offline.
- Reactions appear on memos, not comments, and someone else's reaction shows when you open that memo or on the daily sweep — reacting does not change a memo's update time.
- A memo's colour is local: it survives syncs, not a reinstall or a second device.
- A share link needs the network; offline the app offers the text instead. Links are never revoked from the app.
- Comments are flat because this server build rejects replies.
- Images hosted elsewhere are shown as a link, and HTML in a memo renders as plain text.
- The token sits in the app's private storage, not the Android Keystore.
The app was verified on an AOSP Android 16 emulator, not on physical hardware — real-device font metrics and OEM quirks are still unseen. The longer list lives in the project's README.
License
GPL-3.0-or-later. MyMemos is an independent client: it talks to the Memos HTTP API and contains none of Memos' code. It is not affiliated with the Memos project.
Most of it was written with an agent at the keyboard, which is what 99% vibecoded, still works means. The tests and the measurements in the README are there so the claim can be checked.