Skip to content

Ashutosh102/RecallIQ

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

84 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧠 RecallIQ - AI-Powered Memory Assistant

RecallIQ Logo

Built with Lovable TypeScript React Supabase Tailwind CSS

Never forget important people, conversations, or moments again

πŸš€ Live Demo Β· πŸ“– Documentation Β· πŸ› Report Bug


🌟 Features

πŸ”₯ Core Features

  • 🧠 AI-Powered Memory Storage - Capture people, conversations, and moments with intelligent context
  • πŸ” Smart Search - Natural language queries to find anyone or anything instantly
  • 🎨 Interactive Globe Visualization - 3D visualization of connected memories and relationships
  • πŸ“± Responsive Design - Seamless experience across all devices
  • πŸ”’ Secure Authentication - Email verification with OTP-based security
  • πŸ’³ Integrated Payments - Razorpay integration for premium features

⚑ Advanced Capabilities

  • 🎀 Audio Recording - Voice memo capture with automatic transcription
  • πŸ“„ OCR Processing - Extract text from images and documents
  • πŸ€– AI Insights - Get intelligent summaries and connections between memories
  • 🏷️ Smart Tagging - Automatic categorization and manual tagging
  • πŸ“Š Credit System - Freemium and premium tiers with usage tracking
  • πŸ”— Media Attachments - Support for images, audio, and documents

🎨 Design System

Color Palette

/* Primary Colors */
--purple-primary: #8B5CF6    /* Main brand color */
--teal-accent: #22D3EE       /* Secondary accent */
--blue-neon: #3B82F6         /* Highlight color */

/* Background Gradients */
--dark-bg: #0E0B1C           /* Primary background */
--dark-secondary: #1C152E    /* Secondary background */

/* Glass Morphism */
--glass-bg: rgba(255, 255, 255, 0.05)
--glass-border: rgba(255, 255, 255, 0.1)
--glass-backdrop: blur(16px)

Typography

  • Primary Font: Inter (Sans-serif)
  • Display Font: Poppins (Headers and titles)
  • Font Weights: 300, 400, 500, 600, 700

UI Components

  • Glass Morphism Cards - Semi-transparent cards with backdrop blur
  • Gradient Buttons - Animated gradient backgrounds with hover effects
  • Animated Icons - Lucide React icons with smooth transitions
  • Interactive Elements - Hover states and micro-interactions

πŸ› οΈ Tech Stack

Frontend

  • Framework: React 18 with TypeScript
  • Build Tool: Vite
  • Styling: Tailwind CSS with custom design system
  • UI Components: Shadcn/UI + Custom components
  • Animations: Framer Motion
  • Icons: Lucide React
  • 3D Graphics: Three.js with React Three Fiber

Backend

  • Database: Supabase (PostgreSQL)
  • Authentication: Supabase Auth with email verification
  • File Storage: Supabase Storage
  • Edge Functions: Supabase Functions (Deno runtime)
  • Real-time: Supabase Realtime subscriptions

AI & Integrations

  • AI Provider: Groq API for fast inference
  • OCR: OCR.space API for text extraction
  • Speech-to-Text: AssemblyAI for audio transcription
  • Payments: Razorpay for Indian market
  • Email: Resend for transactional emails

Development & Deployment

  • Package Manager: npm
  • Version Control: Git with GitHub integration
  • Deployment: Lovable hosting platform
  • Environment: Node.js 18+

πŸ—οΈ Architecture

System Architecture

graph TB
    A[React Frontend] --> B[Supabase Client]
    B --> C[Supabase Database]
    B --> D[Supabase Auth]
    B --> E[Supabase Storage]
    B --> F[Edge Functions]
    
    F --> G[Groq AI API]
    F --> H[OCR.space API]
    F --> I[AssemblyAI API]
    F --> J[Razorpay API]
    F --> K[Resend Email API]
    
    L[User] --> A
    M[Mobile User] --> A
    N[Desktop User] --> A
Loading

Database Schema

erDiagram
    profiles ||--o{ memories : creates
    profiles ||--o{ credit_transactions : has
    profiles ||--o{ freemium_usage : tracks
    memories ||--o{ memory_attachments : contains
    memories ||--o{ ai_insights : generates
    profiles ||--o{ payment_records : makes
    
    profiles {
        uuid id PK
        text first_name
        text last_name
        int credits
        boolean is_premium
        timestamp premium_expires_at
    }
    
    memories {
        uuid id PK
        uuid user_id FK
        text title
        text summary
        text content
        text[] people
        text[] tags
        date date
        jsonb ai_insights
    }
    
    memory_attachments {
        uuid id PK
        uuid memory_id FK
        text file_url
        text file_type
        text extracted_text
        text transcription
    }
Loading

Application Flow

flowchart TD
    A[User Visits App] --> B{Authenticated?}
    B -->|No| C[Login/Signup]
    B -->|Yes| D[Dashboard]
    
    C --> E[Email Verification]
    E --> F[OTP Verification]
    F --> D
    
    D --> G[View Memories]
    D --> H[Add Memory]
    D --> I[Search Memories]
    D --> J[AI Insights]
    
    H --> K{Has Media?}
    K -->|Yes| L[Upload to Storage]
    K -->|No| M[Save to Database]
    L --> N[Process Media]
    N --> O[Extract Text/Audio]
    O --> M
    
    I --> P[AI Search Processing]
    P --> Q[Return Results]
    
    J --> R[Generate Insights]
    R --> S[Display Analysis]
Loading

πŸ”’ Security Measures

Authentication & Authorization

  • πŸ” Email Verification: OTP-based email verification system
  • πŸ›‘οΈ Row-Level Security (RLS): Database-level access control
  • πŸ”‘ JWT Tokens: Secure session management
  • 🚫 Rate Limiting: Built-in protection against abuse

Data Protection

  • πŸ”’ Encrypted Storage: All sensitive data encrypted at rest
  • 🌐 HTTPS Only: All communications over secure connections
  • πŸ” API Key Management: Secure secret management in Supabase
  • πŸ›‘οΈ CORS Protection: Configured for secure cross-origin requests

Payment Security

  • πŸ’³ PCI Compliance: Razorpay handles all payment processing
  • πŸ” HMAC Verification: Payment webhook signature verification
  • πŸ›‘οΈ Server-side Validation: All transactions verified server-side

Privacy & Compliance

  • πŸ”’ Data Isolation: User data completely isolated per account
  • πŸ—‘οΈ Data Deletion: Complete data removal on account deletion
  • πŸ“‹ Audit Logs: Transaction and credit usage logging
  • πŸ” Secure File Upload: Validated file types and sizes

πŸš€ Getting Started

Prerequisites

  • Node.js 18+ and npm
  • Supabase account
  • Required API keys (see Environment Variables)

Installation

  1. Clone the repository

    git clone https://github.com/Ashutosh102/recalliq.git
    cd recalliq
  2. Install dependencies

    npm install
  3. Set up Supabase

    • Create a new Supabase project
    • Run the database migrations from supabase/migrations/
    • Configure Row-Level Security policies
  4. Configure Environment Variables Set up the following secrets in Supabase Edge Functions:

    GROQ_API_KEY=your_groq_api_key
    OCR_SPACE_API_KEY=your_ocr_space_key
    ASSEMBLYAI_API_KEY=your_assemblyai_key
    RAZORPAY_KEY_ID=your_razorpay_key_id
    RAZORPAY_KEY_SECRET=your_razorpay_secret
    RESEND_API_KEY=your_resend_api_key
    
  5. Start the development server

    npm run dev

Deployment

Deploy to Lovable platform:

  1. Connect your GitHub repository
  2. Configure environment variables
  3. Deploy with one click

πŸ“Š Usage Analytics

Freemium Limits

  • Memory Saves: 5 per month
  • Memory Saves with Media: 2 per month
  • AI Searches: 5 per month

Premium Features

  • Unlimited Memory Storage
  • Unlimited AI Searches
  • Advanced Media Processing
  • Premium Support
  • Export Capabilities

🀝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

Development Workflow

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ™ Acknowledgments


πŸ“ž Support


Made with ❀️ by the RecallIQ Team

Built with Lovable