No description
  • Java 98.8%
  • Python 0.5%
  • Rust 0.2%
  • Shell 0.2%
  • JavaScript 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jolly Good 0226a84f71
Some checks failed
App testing / Run Unit Tests (push) Failing after 4m22s
App testing / Generate APK (push) Successful in 6m4s
tiny papercuts in UI and such
2026-10-14 22:17:43 +02:00
.forgejo/workflows add forgejo workers to overwrite the github 2026-09-18 16:03:45 +02:00
.github update workflows 2026-06-01 23:07:50 +02:00
agent-web add useApp capability to agent 2026-10-12 16:00:44 +02:00
app tiny papercuts in UI and such 2026-10-14 22:17:43 +02:00
docs docs: spec for agent useApp (accessibility app driving) 2026-10-12 13:07:34 +02:00
fastlane Translated using Weblate (Spanish) 2026-07-04 15:01:50 +00:00
fend-jni change the main menu with filters dropdowns and integrate fend core calculations 2026-09-27 00:23:11 +02:00
gradle/wrapper Gradle update 2026-07-02 11:43:55 +02:00
scripts Revert "fixed sync script" 2026-09-18 15:59:37 +02:00
utils Cleanup 2016-08-09 17:24:45 +02:00
.gitignore add llm agent feature 2026-10-12 12:36:32 +02:00
.project renamed to unimo 2026-09-18 15:59:38 +02:00
Android.mk add android.mk to integrate KISS launcher into aosp toolchain 2017-10-14 18:32:51 +02:00
build.gradle Gradle update 2026-07-02 11:43:55 +02:00
CONTRIBUTING.md Added multi language progress 2020-02-01 20:55:46 +05:00
gradle.properties user email in reg flow 2026-09-22 13:39:54 +02:00
gradlew update gradle 2026-02-18 14:26:34 +01:00
gradlew.bat update gradle 2026-02-18 14:26:34 +01:00
LICENSE Update project's licence to GPL v3.0 2016-07-03 11:06:04 +01:00
qa-suite.md add notifications sync 2026-09-21 05:10:53 +02:00
README.md add useApp capability to agent 2026-10-12 16:00:44 +02:00
settings.gradle add support for notifications sync 2026-09-18 16:03:46 +02:00
test Updated gradle 2021-05-21 18:25:54 +02:00

KISS

An Android launcher not spending time and memory on stuff you'd rather do.

Copylefted libre software, licensed GPLv3+:

Use, see, change and share at will; with all.

From your background, type the first letters of apps, contact names, or settings—and click.
Results clicked more often are promoted.

Browsing for apps is and should be secondary.

F-Droid Release Playstore Release GitHub Release Translation status

Join the beta program to test the latest version.

Join the Hosted Weblate translation platform to help translate the app.

Public Telegram chat: https://t.me/joinchat/_eDeAIQJU1FlNjM0

Less interface Search anything Customize everything Settings

Unimo fork additions

Unimo is a search-first fork of KISS with an optional end-to-end-encrypted account. The account key (a 32-byte post-quantum seed) is sealed at rest by an auth-bound AES-256-GCM key in the AndroidKeyStore (StrongBox where available, else the TEE) and only released after a biometric / screen-lock ceremony. A one-time recovery key is shown at registration; it is the only way back into the account if the device is lost, the screen lock is reset, or the app is reinstalled.

  • Requires Android 7.0 (API 24) or newer.
  • Create an account from the Account menu entry (shown on first run). After that, restarting the launcher prompts you to unlock with fingerprint or screen lock.
  • Sign out keeps the sealed key on device; Remove from this device wipes it (the account survives on the server and can be restored with the recovery key).
  • Multi-device: a signed-in manager can Invite a device (share a one-time code). The new device uses Join existing, then the manager Enables or Blocks the request (dialog + notification while unlocked). No push while locked.
  • Notification mirroring (opt-in): with notification access granted, "Sync notifications" in the Account status mirrors your notifications (title, text, source app) into the end-to-end-encrypted vault and shows other devices' notifications locally. Records are pruned after 24 hours. Doze can delay delivery while the phone is idle. Incoming calls (carrier and Signal/Messenger-style VoIP) are mirrored from their notification once the phone rings; a re-posted call notification (caller id resolved, call answered) mirrors again.
  • Crankle (agent): the pill-bar bot button turns the bar text into a plan the tainted-love core runs over the launcher's tools (contacts, notes, web search, page reading, fend, and useApp: driving any installed app through the accessibility service, a pill on top to stop it), asking on a card before anything leaves the phone. Runs show as rows pinned by the search bar, whatever the query. The core runs in a hidden WebView from the bundle under app/src/main/assets/agent/, built (and committed) from agent-web/ with cd agent-web && bun install && bun run build — rebuild it after bumping tainted-love there. The model call is the account's llm over the live WebSocket; aliases and grants sync with the desktop app through the settings collection (agent.state).
  • Implementation lives in app.unimo.android (fork-owned); see qa-suite.md for the manual test checklist.