Overview

This document outlines the technical user journey for Unsorted AI, a company that collects data from users through a mobile app and provides processed datasets to users via a web application. The document covers two main flows: the Contributing Flow for mobile users and the Data Usage Flow for web users.

Contributing Flow (Mobile)

  1. User Opens App: The user launches the Unsorted AI mobile application on their device.

  2. Authentication: The user logs in to the app, and their credentials are verified. Upon successful authentication, the user’s information is stored in the “Users” database table.

  3. Device Registration: The user’s device is registered within the app and a record is made in the database

  4. Set Data Permissions: The user sets permissions for the types of data they are willing to share. These permissions are stored in the “Permissions” database table.

  5. Data Collection:

    • A background task runs on the user’s device, collecting data based on the set permissions.
    • The collected data is temporarily stored in the device’s local storage.
    • Periodically, the data is synced from the local storage to Supabase Storage, a cloud storage solution. The raw data is stored in the “Raw Data” database table.
  6. ML Server Processing:

    • The data sync to Supabase Storage triggers the ML Server to process the newly uploaded data.
    • The ML Server sorts and validates the data, creating processed datasets.
    • The processed datasets are stored in the “Processed Data” database table.
  7. Token Distribution:

    • The ML Server calculates the value of the user’s contributed data based on predefined metrics.
    • Tokens are distributed to the user’s wallet as a reward for their data contribution.
    • The token distribution information is stored in the “Tokens” database table.

Use a data-set (web)

  1. User Login: The user logs in to the Unsorted AI web application using their credentials.

  2. Browse Datasets: Upon successful authentication, the user can browse the available processed datasets.

  3. Payment Processing: If the user selects a dataset they want to access, they proceed to the payment processing step. Once the payment is successfully completed, the user gains access to the dataset.

  4. Dataset Access: The user can choose one of two options:

    • Option 1: Use an existing pre-trained model provided by Unsorted AI.
    • Option 2: Upload their own custom model to train on the selected dataset.
  5. Training Process: Regardless of the chosen option, the selected model is trained on the dataset. Upon completion, the trained model is generated.

  6. Model Delivery: The trained model is made available for the user to download and use as needed.