Skip to content

Repository files navigation

Recall AI - iOS App

Recall AI helps users store personal notes and ask AI questions that are answered only from their notes.

Features

Core Features (MVP)

  1. Notes Management

    • Create, edit, and delete notes
    • Notes list with title and date
    • Auto-generated title from first line
  2. AI Recall

    • Ask questions from your notes
    • AI answers based only on your notes
    • Returns "I don't know" if answer not in notes
  3. Free Tier Limitations

    • Maximum 5 notes
    • Limited AI queries (10 per day)
    • Paywall after limits
  4. Subscription

    • Monthly subscription plan
    • Unlimited notes
    • Unlimited AI queries
  5. Cloud Storage & Authentication

    • Notes stored in Firebase Firestore (cloud database)
    • User authentication with Apple Sign In and Google Sign In
    • Real-time sync across devices
    • Secure user-specific data storage

Setup Instructions

Prerequisites

  • Xcode 15.0 or later
  • iOS 17.0 or later
  • Swift 5.0 or later

Configuration

  1. Firebase Setup (Required)

    • Follow the detailed guide in FIREBASE_SETUP.md
    • Create a Firebase project
    • Download and add GoogleService-Info.plist to your project
    • Enable Apple Sign In and Google Sign In in Firebase Console
    • Set up Firestore database
    • Add Firebase SDK via Swift Package Manager
  2. AI Service Configuration

    • Open RecallAI/Services/AIService.swift
    • Replace YOUR_API_KEY_HERE with your OpenAI API key
    • Update the apiURL if using a different endpoint
  3. In-App Purchase Setup

    • Open App Store Connect
    • Create a subscription product with ID: com.recallai.monthly
    • Configure pricing and subscription details
    • The app will automatically detect and use this product

Project Structure

RecallAI/
├── RecallAIApp.swift          # App entry point
├── ContentView.swift          # Main tab navigation
├── Views/
│   ├── NotesListView.swift    # Notes list screen
│   ├── AddEditNoteView.swift  # Add/Edit note screen
│   ├── AskRecallView.swift    # AI question screen
│   └── PaywallView.swift      # Subscription paywall
├── Services/
│   ├── AuthenticationService.swift  # Apple & Google Sign In
│   ├── FirestoreService.swift      # Cloud database operations
│   ├── SubscriptionManager.swift    # In-app purchases
│   ├── AIService.swift              # AI API integration
│   └── UsageTracker.swift           # Free tier tracking
├── Views/
│   └── LoginView.swift              # Authentication screen
└── Resources/
    └── GoogleService-Info.plist     # Firebase configuration

Building the App

  1. Open RecallAI.xcodeproj in Xcode
  2. Select your development team in Signing & Capabilities
  3. Configure the bundle identifier if needed
  4. Build and run (⌘R)

Notes

  • The app uses Firebase Firestore for cloud storage
  • User authentication required (Apple or Google Sign In)
  • Notes sync in real-time across devices
  • Subscription status is stored locally (for MVP)
  • AI queries are limited to 10 per day for free users
  • Free users can create up to 5 notes
  • Subscription unlocks all limitations

Database Recommendation

Firebase Firestore is recommended and implemented because:

  • ✅ Built-in authentication (Apple & Google Sign In)
  • ✅ Real-time synchronization
  • ✅ Offline support
  • ✅ Scalable NoSQL database
  • ✅ Free tier available
  • ✅ Excellent iOS/Swift support
  • ✅ Easy to set up and maintain

Alternative options considered:

  • Supabase: Open-source alternative, PostgreSQL-based
  • AWS Amplify: More complex setup, better for enterprise
  • CloudKit: Apple-only, limited to Apple Sign In

License

Copyright © 2024 Recall AI. All rights reserved.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages