A private, local macOS menu-bar app for finding one-to-one Messages chats that may need a follow-up.
- Follow Up: chats where your latest non-reaction message may need a follow-up.
- Respond: chats where the other person's latest non-reaction message is awaiting you.
- Suggested: prioritizes questions and requests; All includes every eligible chat.
- Dismiss a message or ignore a conversation to keep the queue tidy.
Set a minimum follow-up age and a maximum age for stale conversations in Settings. Group chats and reactions are excluded from the latest-message calculation.
- Open Spark.xcodeproj in Xcode and run the Spark scheme.
- Grant the development app Full Disk Access in System Settings → Privacy & Security.
- Open the menu-bar item and choose Refresh.
Spark reads Messages locally and in read-only mode. It has no backend, networking, telemetry, or analytics. Latest-message text is used only transiently for optional local ranking and is never stored or sent.
Run the unit tests:
xcodebuild test \
-project Spark/Spark.xcodeproj \
-scheme Spark \
-destination 'platform=macOS,arch=arm64' \
-only-testing:SparkTests