Your Personal AI Memory & Action Assistant
Cacto is a Kotlin Multiplatform Android app that uses on-device AI to help you remember important information and generate contextual responses.
- πΈ Screenshot Analysis - Share screenshots to extract important information
- π§ Memory Extraction - Automatically saves personal facts, preferences, and life events
- π Knowledge Graph - Visualize connections between people, places, and preferences
- β¨ Smart Responses - Generate contextual replies using your personal memory
- You're on a dating app and don't know how to reply
- Take a screenshot and share it to Cacto
- Cacto analyzes the conversation and finds relevant memories about you
- Generates a witty, personalized response
- Copies it to your clipboard - just paste and send!
- Kotlin Multiplatform - Cross-platform foundation
- Cactus SDK - On-device AI (LLM, Vision, Embeddings)
- SQLDelight - Local SQLite database
- Jetpack Compose - Modern UI toolkit
- Koin - Dependency injection
- D3.js - Knowledge graph visualization
- Android Studio Arctic Fox or newer
- JDK 17+
- Android SDK 26+ (device/emulator)
- High-end Android device recommended (8GB+ RAM) for AI model performance
# Clone the repository
git clone https://github.com/yourusername/cacto.git
cd cacto
# If gradle wrapper doesn't work, generate it first:
# gradle wrapper --gradle-version 8.9
# Build the project
./gradlew build
# Install on connected device
./gradlew :composeApp:installDebugNote: On first build, Gradle will download all dependencies including the Cactus SDK. On first launch, the app will download the AI model. This may take a few minutes and require significant storage (~2-3GB depending on model choice).
- Open Cacto on your Android device
- The app will download the AI model on first launch
- Take a screenshot of any conversation or content
- Share it to Cacto from the share menu
- Watch as Cacto extracts memories or generates responses!
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Share Intent β
β (User shares screenshot) β
ββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Cactus Vision Model β
β (Analyze screenshot content) β
ββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Action Classifier β
β βββββββββββββββ¬ββββββββββββββ¬ββββββββββββββ β
β β SAVE_MEMORY β TAKE_ACTION β BOTH β β
β βββββββββββββββ΄ββββββββββββββ΄ββββββββββββββ β
ββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββ
β
ββββββββββββββββ΄βββββββββββββββ
βΌ βΌ
βββββββββββββββββ βββββββββββββββββββββ
β Memory Pipelineβ β Action Pipeline β
β - Extract factsβ β - Vector search β
β - Get entities β β - Load context β
β - Gen embeddingsβ β - Generate reply β
β - Save to DB β β - Copy clipboard β
βββββββββββββββββ βββββββββββββββββββββ
cacto/
βββ composeApp/
β βββ src/
β βββ commonMain/ # Shared code
β β βββ kotlin/com/cacto/app/
β β βββ ai/ # AI pipeline
β β βββ data/ # Models & repos
β β βββ di/ # Dependency injection
β β βββ ui/ # UI screens
β βββ androidMain/ # Android-specific
β βββ kotlin/com/cacto/app/
β βββ MainActivity.kt
β βββ ShareReceiverActivity.kt
βββ .doc/
β βββ context.md # Project documentation
βββ README.md
MIT License - See LICENSE for details.
- Cactus SDK - On-device AI inference
- D3.js - Knowledge graph visualization
- Built for hackathon demo purposes π