Skip to content

Offline-First Mobile App with Local Sync #207

Description

@ferdinand-wood

Description / 功能描述

A native mobile application for iOS and Android that mirrors a complete vault from a Bonds instance and allows full read-write access offline. Changes made on the phone sync back to the server when connectivity is restored.

Motivation / 动机

Mobile access is essential for real-world contact management:

  • Quickly add notes or update contact details while traveling, in meetings, or on public transit
  • Work reliably in areas with poor or no internet connectivity
  • Same editing experience across web and mobile without friction

Current web-only design requires constant connectivity and isn't practical for mobile workflows.

Proposed Solution / 建议方案

native mobile app (iOS/Android) that:

  • Offline-first: Entire vault is mirrored locally; app is fully functional without internet
  • Bidirectional sync: Read and write offline; changes sync automatically when connection available
  • Full feature parity: Contacts, notes, reminders, life events, tasks — same capabilities as web app
  • Conflict resolution: Intelligently handles changes made on both device and web simultaneously
  • Sync status: Displays last sync time, pending changes, and sync conflicts
  • Data integrity: Maintains Monica data model compatibility for interoperability

Alternatives Considered / 备选方案

  • PWA (web app): Limited offline functionality without true local mirroring
  • Manual export/import (CSV/vCard): Tedious, not practical for frequent mobile updates
  • CardDAV sync: Read-only for most phone contacts apps, doesn't cover notes/reminders/other Bonds features

Additional Context / 补充信息

Target: Individuals using self-hosted Bonds instances

  • Priority: Nice-to-have enhancement for mobile-first workflows
  • Should preserve Monica ecosystem compatibility

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions