Project Athena

com.athena.reader
by LWB lwb89@cosanostr.com

**v0.1.1** — A free online library, built entirely on nostr. The name is Athena, the goddess of knowledge.

First release: Sep 1, 2026, 2 total releases.

Most recent release: Sep 1, 2026.

Repo

Appears in 1 app stack.

0 sats / 0 zaps received in the past year.

Sats Received

Underlying data available via MCP: app_zaps, app_releases.

Zap Count

Underlying data available via MCP: app_zaps, app_releases.

Releases

  • Sep 1, 2026 0.1.1
    ## Athena v0.1.1 ### Fixed - **Android: importing a file didn't work.** Tapping "load a file" on the import screen did nothing — no file picker was ever installed on Android, so the tap silently no-opped. Added `AndroidFilePicker`, a suspend bridge over the Storage Access Framework's document picker (`ActivityResultContracts.GetContent()`), following the same pattern already used for the Amber (NIP-55) signer.
    More…
    Full history: [CHANGELOG.md](https://github.com/Lwb89dev/athena/blob/main/CHANGELOG.md). ### Downloads Same layout as v0.1.0 — Android APKs split per ABI, grab the one matching your device, or the universal APK if you're not sure: | File | For | |---|---| | `athena-0.1.1-arm64-v8a.apk` | Most phones from the last ~7 years (64-bit ARM) | | `athena-0.1.1-armeabi-v7a.apk` | Older 32-bit ARM devices | | `athena-0.1.1-x86_64.apk` | x86_64 devices / emulators | | `athena-0.1.1-universal.apk` | Works everywhere, larger download | Checksums are in `SHA256SUMS.txt`. Signed with the same release key as v0.1.0 (`SHA-256: 79:F2:DA:6C:50:56:50:63:F1:E2:2B:96:B8:B4:9D:0B:E5:C1:F9:6F:2E:4A:AE:60:FE:39:10:AA:22:54:3A:94`) — updating over v0.1.0 works without an uninstall. See the [v0.1.0 release](https://github.com/Lwb89dev/athena/releases/tag/v0.1.0) for the full feature rundown; nothing else changed since.
  • Sep 1, 2026 0.1.0
    ## Athena v0.1.0 — initial release A free online library reader built entirely on nostr. No Athena server: books are nostr events on public relays, your annotations are events you sign yourself. ### Highlights - **Functional MVP, no stubs.** NIP-44 and NIP-46 are fully implemented, not scaffolded. 32 tests pass, including the official NIP-44 vectors compared
    More…
    byte-for-byte. - **Kotlin Multiplatform**, one shared codebase (~95% in `commonMain`) for two targets: - **Android** — login via [Amber](https://github.com/greenart7c3/Amber) (NIP-55) - **Desktop** (`.deb` / `.exe`) — login via bunker (NIP-46) - **No invented formats.** Everything rides on existing specs: | | | |---|---| | Books | NKBIP-01 (kind `30040` + `30041`), NIP-23 as fallback | | Highlights | NIP-84, kind `9802` | | Favorites | NIP-51 sets (`30003`), private ones NIP-44 encrypted | | Reading sync | NIP-78 (`30078`), self-encrypted | | Login | NIP-55 (Amber) and NIP-46 (bunker) | | Encryption | NIP-44 v2, verified against the official vectors | | Deletion | NIP-09 | | Feed | NIP-02 (contacts) and NIP-51 (lists), to keep spam out | | Relays | NIP-65 | The only non-standard bits are the highlight color and passage offset, prefixed `project_athena_` so other clients simply ignore them — a highlight made here is still a valid NIP-84 event everywhere. ### Downloads Android APKs are split per ABI to keep the download small; grab the one matching your device, or the universal APK if you're not sure: | File | For | |---|---| | `athena-0.1.0-arm64-v8a.apk` | Most phones from the last ~7 years (64-bit ARM) | | `athena-0.1.0-armeabi-v7a.apk` | Older 32-bit ARM devices | | `athena-0.1.0-x86_64.apk` | x86_64 devices / emulators | | `athena-0.1.0-universal.apk` | Works everywhere, larger download | Checksums are in `SHA256SUMS.txt`. ### Known limitations - NIP-46 session key is stored in plaintext in the app's private storage — it's a revocable credential, not the identity key, but platform keystore support is the logical next step. - The sync bootstrap slot is derivable from public information by design, which allows a targeted "does this npub use Athena?" check. See [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) for the full threat model and the opt-in modes (`Off` / `Passphrase` / `Automatic`) that mitigate it. - AsciiDoc rendering covers headings, bold, italic, code, quotes, and lists; tables, footnotes, and includes fall back to plain text. - Desktop `.deb`/`.exe` packages are not attached to this release — build them locally with `./gradlew :desktopApp:packageDistributionForCurrentOS`. Full architecture writeup: [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md). Flutter-to-Kotlin build guide: [docs/BUILD.md](docs/BUILD.md).