Skip to content

slavins-co/keep-in-touch

Repository files navigation

Keep In Touch

Privacy-first iOS app to maintain friendships through gentle reminders and relationship tracking.

Platform Swift License

Version: 0.3.2 (Build 10) | Status: Pre-release Beta


What is Keep In Touch?

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

Current Status

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.


Features

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

Tech Stack

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.


Getting Started

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.


Issue Tracking


License

All rights reserved — see LICENSE.

Built with the assistance of AI tools.

About

Privacy-first iOS app to maintain friendships — track contact frequency, organize people into cadence groups, and get gentle reminders when it's time to reconnect.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors