whatisgithub

What is tappy?

haz3-jolt/tappy — explained in plain English

Analysis updated 2026-05-18

18KotlinAudience · generalComplexity · 4/5LicenseSetup · hard

In one sentence

An Android voice assistant that watches your screen through Accessibility services and either teaches you how to use an app step by step or operates it for you.

Mindmap

mindmap
  root((Tappy Live))
    What it does
      Voice conversation
      Teaches app usage
      Operates apps directly
    Tech stack
      Kotlin Android
      Gemini Live API
      Accessibility service
    Use cases
      Guided app teaching
      Hands free task completion
      Summon from any screen
    Setup
      Microphone permission
      Accessibility enabled
      Screen share per session

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Ask Tappy to open an app and complete a multi-step task, stopping before a sensitive final action.

USE CASE 2

Get step by step on-screen teaching with highlighted boxes and arrows instead of the app acting for you.

USE CASE 3

Summon a voice assistant from anywhere on the phone using a floating handle or Quick Settings tile.

USE CASE 4

Interrupt the assistant mid-response the way you would in a real conversation.

What is it built with?

KotlinAndroidGemini Live APIJetpack ComposeCloud Run

How does it compare?

haz3-jolt/tappydw2lam/openlauncherthatjoshguy67/blur-widget-demo
Stars181818
LanguageKotlinKotlinKotlin
Setup difficultyhardmoderatemoderate
Complexity4/52/52/5
Audiencegeneralgeneraldeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires enabling Android's Accessibility service, granting microphone and screen share permissions, and running a separate Cloud Run token broker.

You can use and modify this freely, but if you distribute it or run a modified version as a network service, you must share your source code under the same license.

So what is it?

Tappy Live is an Android app, built for a hackathon, that acts as a real time voice assistant able to both teach you how to use your phone and actually operate apps on your behalf. You can summon it from anywhere on the phone, speak a request in plain language, and it either walks you through the steps with on screen highlights and arrows, or takes over and performs the steps itself, stopping to ask for confirmation before any sensitive final action like completing a purchase. It combines two pieces. The voice side uses Google's Gemini Live API for a natural, interruptible conversation, meaning you can talk over the assistant while it is mid-sentence and it will adapt rather than finish its scripted response first. The control side uses Android's Accessibility service, which lets the app see a structured, numbered list of the buttons, text fields, and other elements on whatever screen is currently open, and then tap, type, scroll, or swipe on the user's behalf using that same list. A small floating handle can summon Tappy over any app, and it can also register itself as the phone's default voice assistant or as a Quick Settings tile. The README lists a working demo loop confirmed on a Samsung S23 Ultra: the app can connect to Gemini Live, stream microphone audio, play back spoken responses, capture and index the current screen, and complete a real multi-step task such as opening Uber, tapping the destination field, typing in a location, and stopping right before the ride is actually booked. When teaching rather than acting, Tappy can draw numbered boxes, circles, and arrows over parts of the screen and wait for the user to complete each step themselves. Setting it up requires granting microphone and notification permissions, turning on Tappy's Accessibility service, and approving screen sharing each time a new session starts, since Android does not let apps silently obtain those permissions on their own. A separate small cloud service issues short lived Gemini Live access tokens so the mobile app never holds a long lived credential directly. The project is licensed under AGPL-3.0.

Copy-paste prompts

Prompt 1
Explain how Tappy uses Android's Accessibility service to see and control the current screen.
Prompt 2
Walk me through the summon flow from tapping the floating handle to Tappy taking an action.
Prompt 3
Help me understand why Tappy stops before a sensitive action like completing a purchase.
Prompt 4
Show me how the guide-style overlay tags like BOX and POINT get turned into on-screen highlights.

Frequently asked questions

What is tappy?

An Android voice assistant that watches your screen through Accessibility services and either teaches you how to use an app step by step or operates it for you.

What language is tappy written in?

Mainly Kotlin. The stack also includes Kotlin, Android, Gemini Live API.

What license does tappy use?

You can use and modify this freely, but if you distribute it or run a modified version as a network service, you must share your source code under the same license.

How hard is tappy to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is tappy for?

Mainly general.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.