TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
Selis is a free, open-source PDF editor for your phone: read, annotate, sign, scan and send PDFs. No account, no cloud, no tracking.
ProductivityTypeScript · RustGitHub @FiouriOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Free, open-source PDF editor for your phone: read, annotate, sign, scan, OCR and send PDFs device to device. No account, no cloud, no tracking.
Taken from the repository README
Loading the full README.
Read the full README ↗Status: release candidate 1.0 — not yet in the stores.
Developed with AI assistance (Claude Code); every change is reviewed and tested by the maintainer.
.selispack file (below).Selis 1.0 is distributed through Google Play and GitHub Releases (signed APKs); the App Store follows. Android needs version 8.0 or newer with Android System WebView 111 or newer (updated through Google Play); on an older WebView Selis shows an "Update Android System WebView" screen (ADR 0031). Not yet in F-Droid (see docs/store/fdroid/README.md).
GitHub Releases: every release has one signed APK per ABI and a universal APK, named
selis-<version>-<abi>.apk (arm64-v8a for nearly every phone; also armeabi-v7a, x86,
x86_64, universal), with a SHA256SUMS file. The APK signing certificate's SHA-256 is
published on the download page.
Updates with Obtainium:
https://github.com/Fiouri/selis.arm64-v8a\.apk$ (or the ABI of
your device, or universal\.apk$). Asset names keep this pattern from release to release.1.0.0-rc.N) too.Send documents straight to your other device:
selis://transfer/… link appear (valid once, for 10 minutes).After a transfer you can save the device: next time it is one tap (no QR code) while the other device has its Receive tab open. Move whole library (Send tab) sends everything — documents with versions, tags, favorites, signatures and settings — to a new phone; documents it already has are skipped, so running it again changes nothing.
No network at all? Save as file… (Send tab) puts the chosen documents — or the whole library —
into one .selispack file, optionally protected with a passphrase, for USB, e-mail or your own
cloud. Open it with Selis ("Open with", or Receive › Open a .selispack file); a damaged,
truncated or altered file adds nothing (ADR 0012).
Devices connect directly when they can (same Wi‑Fi, or across networks), otherwise through an encrypted relay. Settings › Transfer: Local network only (no relay, no address lookup) or your own relay. Nothing touches the network until you open the Transfer screen. Details: docs/PRIVACY.md, protocol: ADR 0010.
Developers: cargo run -p selis-transfer --example selis-peer -- send <file.pdf> (or
receive <link>) is a terminal peer for testing against the app;
cargo run -p selis-core --example selispack -- make|open … makes and checks packs.
Selis collects nothing. There is no account, no analytics, no crash reporting and no network access at startup. Your library lives in the app's private storage on your device. The network is used only by Transfer, while you use it: see docs/PRIVACY.md.
Requirements: Node 22 (.nvmrc), Rust 1.98.1 (rust-toolchain.toml), and the
Tauri 2 prerequisites for your platform
(Windows: MSVC build tools + Windows SDK). Android: Android Studio, JDK 17, NDK 27 (NDK_HOME).
npm ci
npm run fixtures # generate the test PDF corpus
npm run tauri -- dev # desktop
npm run tauri -- android dev # Android emulator or USB device
npm run tauri -- android build --debug --apk
Run the UI in a browser with an in-memory backend (no Rust needed):
npm run dev:mock -w @selis/app
Checks: npm run verify:tier1 (TypeScript, ESLint, Vitest, rustfmt, Clippy, cargo test, cargo-deny).
| Path | What |
|---|---|
apps/app | The Tauri app: React UI (src/) and Rust shell (src-tauri/) |
crates/selis-core | Library index (SQLite), versions, atomic file store, BLAKE3 |
crates/selis-transfer | Peer-to-peer transfer (iroh): tickets, handshake, gated blobs, resume; selis-peer dev CLI |
packages/engine | PDF engine wrapper (EmbedPDF / PDFium WASM in a Web Worker) |
packages/ui | Design tokens and UI primitives |
packages/fixtures | Synthetic PDF test corpus generator |
docs/ | Spec, architecture decisions (ADRs), spike reports |
See CONTRIBUTING.md and the Code of Conduct. Security issues: please follow SECURITY.md.
Selis ships in English and Greek. Strings live in apps/app/src/i18n/*.json (ICU message
format). New strings are written in English first; Greek is completed before each release
candidate. New languages are welcome once the UI stabilizes.
Selis is licensed under the Apache License 2.0. See NOTICE for third-party components.