A macOS app that captures your screen, processes it with AI in the cloud, and makes your activity searchable through a knowledge base.
macOS App → DO Spaces (raw) → Valkey Queue → DO Function → DO Spaces (processed) → Knowledge Base
The macOS app captures screenshots and uploads them to DigitalOcean. A serverless function processes each image using a vision AI model, extracting text and context. The results are stored in a searchable knowledge base.
See docs/architecture.md for details.
- macOS 14+ (Sonoma or newer)
- Xcode with CLI tools:
sudo xcode-select -s "/Applications/Xcode.app/Contents/Developer" sudo xcodebuild -license accept - XcodeGen:
brew install xcodegen
- doctl (for serverless deployment):
brew install doctl doctl auth init
Create these resources in the nyc3 region:
-
Spaces Buckets (2):
remember-everything-raw- stores uploaded screenshotsremember-everything-processed- stores processed text output
-
Managed Valkey (Basic 1GB tier):
- Name:
remember-everything-queue - Acts as the message queue between upload and processing
- Name:
-
Functions Namespace:
doctl serverless namespaces create --label remember-everything --region nyc3 doctl serverless connect remember-everything
-
API Credentials:
- Spaces access key and secret
- Valkey connection details (host, port, password)
- DO API token for Serverless Inferencing
See docs/secrets-reference.md for details.
mkdir -p ~/Library/Application\ Support/RememberEverything
cp macos/Config/config.example.json ~/Library/Application\ Support/RememberEverything/config.jsonEdit config.json with your DO credentials:
{
"captureIntervalSeconds": 10,
"dataDirectory": "~/RememberEverything/data",
"spaces": {
"endpoint": "https://nyc3.digitaloceanspaces.com",
"region": "nyc3",
"bucket": "remember-everything-raw",
"accessKeyId": "YOUR_KEY",
"secretAccessKey": "YOUR_SECRET"
},
"valkey": {
"host": "your-cluster.valkey.db.ondigitalocean.com",
"port": 25061,
"password": "YOUR_PASSWORD",
"tls": true,
"listName": "images-to-process"
},
"upload": {
"enabled": true
}
}Debug build:
./build_macos.shRelease build (install to /Applications):
cd macos
xcodegen generate
xcodebuild -project RememberEverything.xcodeproj -scheme RememberEverything -configuration Release -derivedDataPath ../.derived/macos-release
cp -R ../.derived/macos-release/Build/Products/Release/RememberEverything.app /Applications/
open -a /Applications/RememberEverything.app- When prompted, open System Settings → Privacy & Security → Screen Recording
- Enable RememberEverything
- Restart the app
cp serverless/.env.example serverless/.env
# Edit .env with your credentials
./scripts/deploy_function.sh- Go to DO Console → GenAI Platform → Knowledge Bases
- Create a new KB connected to
remember-everything-processedbucket - Configure automatic sync
- Create an Agent using this KB
macOS app logs:
tail -f /tmp/RememberEverything-debug.logFunction logs:
doctl serverless functions get process-images/process --logsQueue status:
redis-cli -h $VALKEY_HOST -p 25061 --tls -a $VALKEY_PASSWORD LLEN images-to-process./scripts/install_launch_agent.shTo uninstall:
./scripts/uninstall_launch_agent.sh| Resource | Monthly Cost |
|---|---|
| DO Spaces (250GB) | ~$5 |
| DO Managed Valkey (Basic) | ~$15 |
| DO Functions | ~$20-25 |
| DO Serverless Inferencing | ~$200-250* |
*Cost varies significantly based on model choice and capture interval. Using Llama 3.2 Vision instead of GPT-5 can reduce inference costs by 75%.
remember-everything-ai/
├── macos/ # macOS capture app (Swift)
│ ├── Capture/ # Screen capture service
│ ├── Config/ # Configuration management
│ ├── Upload/ # Spaces upload + Valkey queue
│ └── ...
├── serverless/ # DO Functions (Python)
│ └── packages/
│ └── process-images/
│ └── process/ # Image processing function
├── scripts/ # Utility scripts
├── docs/ # Documentation
└── prds/ # Product requirements