Privacy-first iOS app to maintain friendships through gentle reminders and relationship tracking.
Version: 0.3.2 (Build 10) | Status: Pre-release Beta
Never lose track of the people who matter. Keep In Touch helps you maintain friendships by:
- Tracking when you last connected with friends and family
- Organizing contacts by frequency (Weekly, Bi-Weekly, Monthly, Quarterly)
- Sending gentle reminders when it's time to reconnect
- Keeping everything private — all data stays on your device
V0.3.2 is a complete UX redesign — tab bar navigation (Home, Contacts, Settings), redesigned home screen with status summary cards and floating search, full-screen contact detail with timeline history, a new A-Z Contacts tab, and a centralized design system with adaptive dark/light tokens. Half-height picker sheets, portrait lock, and restored random avatar colors round out the polish.
Up next: TestFlight launch and accessibility refinements. See open issues and release history for details.
Core
- Tab bar navigation with Home, Contacts, and Settings tabs
- Home screen with status summary cards, sticky sections, and floating search
- A-Z Contacts tab with section index and search
- Full-screen contact detail with hero section, action buttons, and timeline history
- Connection logging with method tracking (Text, Call, In Person, Email)
- Frequency-based contact groups with configurable cadences
- Custom due dates per contact (overrides group frequency)
- Contact photos from iOS Contacts with colorful initials fallback
- Birthday display from address book with manual override
- Snooze and pause tracking per contact
- "Next Time" notes for conversation context
- Local notifications with quick-log actions
- Half-height picker sheets for dates, times, frequency, and groups
- Full connection history with edit and delete
- JSON import and export with deduplication and conflict resolution
- Centralized design system with adaptive dark/light mode tokens
- Portrait-only orientation on iPhone
Privacy & Security
- All data stored locally on device (Core Data, encrypted at rest by iOS)
- No cloud sync, no advertising, no cross-app tracking
- Anonymous usage analytics via TelemetryDeck (opt-out in Settings)
- Read-only Contacts access (fetched on-demand, never stored externally)
- No external dependencies — built entirely with Apple frameworks
- Privacy policy
iOS 17+ · Swift · SwiftUI · Core Data · Clean Architecture
No external dependencies beyond TelemetryDeck for anonymous analytics. Built with SwiftUI, Core Data, Contacts, UserNotifications, and BackgroundTasks.
TestFlight: Preparing for submission — see #69.
Developers: Clone the repo, open StayInTouch/StayInTouch.xcodeproj in Xcode 15+, and run. Grant Contacts and Notifications permissions when prompted.
All rights reserved — see LICENSE.
Built with the assistance of AI tools.