BusinessCard/ROADMAP.md

4.8 KiB

BusinessCard Roadmap

This document tracks planned features and their implementation status.

Completed Features

High Priority (Core User Value)

  • Dynamic contact fields system - Unlimited fields with custom ordering

    • New ContactField SwiftData model for flexible field storage
    • ContactFieldType struct with 30+ field types across 8 categories
    • Drag-to-reorder support with haptic feedback
    • Sheet-based field editor with type-specific keyboards and placeholders
    • Multiple fields of the same type allowed (e.g., multiple emails)
  • Custom social icons - Brand-colored icons from asset catalog

    • Custom .symbolset assets for all major platforms
    • LinkedIn, X/Twitter, Instagram, Facebook, TikTok, Threads
    • Bluesky, Mastodon, Reddit, Twitch, YouTube, Discord
    • GitHub, Telegram, Slack, Matrix, Patreon, Ko-fi
    • Proper Image() vs Image(systemName:) handling via iconImage() helper
  • Extended name fields - Prefix, maiden name, pronouns

    • Expandable name section in editor
    • Prefix (Dr., Mr., Mrs., etc.)
    • Maiden name with parentheses formatting in display name
    • Preferred name with quotes formatting
    • Pronouns displayed next to name on card
  • Accreditations as tags - Tag bubble UI with inline editing

    • Horizontal ScrollView of tag chips
    • Tap to edit, check to save, x to delete
    • Comma-separated storage for vCard compatibility
  • Clickable contact fields - Deep linking to apps and actions

    • Email → mailto:
    • Phone → tel:
    • Social links → app deep links or web fallback
    • Address → Maps
    • Website → Safari
  • More card fields - Social media links, custom URLs, pronouns, bio

    • Added: pronouns, bio, LinkedIn, Twitter/X, Instagram, Facebook, TikTok, GitHub
    • Added: 2 custom link slots (title + URL)
    • vCard payload includes social profiles
  • Profile photo support - PhotosPicker integration

    • Added PhotosPicker to CardEditorView
    • Photos stored as Data with @Attribute(.externalStorage)
    • Photos display on cards, in editor preview, and contact avatars
  • Contact notes/annotations - Add notes, tags, follow-up reminders

    • Added: notes field (free text)
    • Added: tags (comma-separated, displayed as chips)
    • Added: follow-up date with overdue indicators
    • Added: "where you met" field
    • Added: email and phone for received contacts
    • Full ContactDetailView for editing annotations
  • Save received cards - Scan a QR to add someone else's card

    • Added QRScannerView with camera integration
    • Parses vCard data from scanned QR codes
    • Creates contacts marked as isReceivedCard
    • "Scan Card" button in Contacts toolbar

🔲 Planned Features

Medium Priority (Differentiation)

  • Email signature export - Generate HTML signature

    • Generate professional HTML email signature from card data
    • Copy to clipboard or share
    • Multiple signature styles/templates
  • Card analytics - View/scan counts

    • Would require backend infrastructure
    • Track when cards are viewed/scanned
    • Show analytics dashboard
  • Virtual meeting background - Generate image with QR

    • Create background image with card info + QR code
    • Export for Zoom, Teams, etc.
    • Multiple background styles

Lower Priority (Advanced)

  • Real NFC - Write card to NFC tags

    • Requires NFC entitlements
    • Requires physical NFC cards/tags
    • Write vCard data to NFC
  • Apple Wallet - Add card to Wallet

    • Requires PKPass generation
    • May need backend for signing passes
    • Display QR in Wallet app
  • Team features - Shared team cards

    • Requires user accounts
    • Requires backend infrastructure
    • Team branding, shared templates

🔧 Technical Improvements

Completed

  • SwiftData persistence with CloudKit sync
  • Bedrock integration - Design system, QR code generator
  • iOS-Watch sync via App Groups
  • Unit tests for models, stores, and new features
  • Fixed data persistence - Removed aggressive store deletion on startup
  • Custom symbol assets - Brand icons in asset catalog with proper rendering
  • Drag-and-drop reordering - Using draggable and dropDestination modifiers

Planned

  • WidgetKit extension - Real home screen widgets
  • Spotlight indexing - Search cards from iOS search
  • Siri shortcuts - "Share my work card"
  • App Intents - iOS 17+ action button support
  • Migrate legacy properties - Move all cards to new ContactField array

📝 Notes

  • Features marked with 🔲 are planned but not yet implemented
  • Features requiring backend are deferred until infrastructure is available
  • Priority may shift based on user feedback
  • Legacy contact properties (email, phone, linkedIn, etc.) maintained for backward compatibility

Last updated: January 8, 2026