Turn Screenshots into Actions, Instantly.
A Cross-Platform Concept for On-Device AI Intent Capsules.
SnapAction is an AI-powered background service that detects user intent from screenshots and offers immediate actions via a "Capsule" UI.
| Platform | Status | Tech Stack |
|---|---|---|
| Python (Core) | ✅ Prototype | Python, analyzer.py, actions_dispatcher.py |
| Android | 🚧 Concept | Kotlin, ContentObserver, Gemini Nano |
| iOS | 🚧 Concept | Swift, SwiftUI, Shortcuts Integration |
| Web | ✅ Demo | HTML5, JavaScript (Mock) |
snap-action/
├── main.py # 🐍 Python Watcher Service (MVP)
├── android/ # 🤖 Android App Source (Kotlin)
├── ios/ # 🍎 iOS App Source (Swift)
├── web/ # 🌐 Web Demo (HTML/JS)
└── actions_dispatcher.py # 🧠 Core LogicRun the watcher on your desktop to process images in a folder.
# Install deps
pip install -r requirements.txt
# Run
python main.py
# Test
# Drop 'shoe.png' into the 'screenshots/' folder.A simple drag-and-drop interface to visualize the UI.
- Go to
snap-action/web/ - Open
index.htmlin Chrome/Safari. - Drag an image (rename it to
shoe.jpgormap.pngto trigger intents) into the box.
The Android code uses a ContentObserver to listen for new media.
- Path:
android/app/src/main/java/com/snapaction/ScreenshotService.kt - Key Logic: When
MediaStoreupdates, we get the URI and pass it to the local inference engine.
Due to sandboxing, iOS requires user initiation or Shortcuts.
- Path:
ios/SnapAction/ContentView.swift - Logic: A button to "Import Last Screenshot" and analyze it.
Don't want to install Python? Use Docker.
docker build -t snap-action .
docker run -v $(pwd)/screenshots:/app/screenshots -it snap-action- Fork the repo
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request