Skip to content

Open-source framework for exporting and building applications off of your personal data.

License

Notifications You must be signed in to change notification settings

Surfer-Org/Protocol

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Surfer Protocol: An open-source framework for exporting and building applications off of your personal data

⚠️ Looking for the Surfer Desktop App or the Surfer Python SDK?

Desktop App: Surfer Desktop App
SDK: Surfer Python SDK

Contributors Forks Stargazers Issues MIT License

Demo (click to view)

YouTube

What is Surfer Protocol?

Surfer Protocol is an open-source framework for exporting and building applications off of your personal data.

Your personal data is siloed across many platforms and apps. Big tech companies have no incentive to give you easy access to your own data. Whether you want to make an AI clone that texts like you, reclaim your data from big tech, or leave a digital legacy, Surfer Protocol is the way to do it.

Currently, Surfer Protocol consists of a Python SDK and a Desktop App. The Desktop App is used for exporting your data from your favorite apps and services. The Python SDK is used for building applications off of your personal data.

Features

  • Desktop App for exporting data from your favorite apps and services
  • Python SDK for building applications off of your personal data
  • Cookbook for examples of how to use the Surfer Protocol Python SDK to build applications

Currently Supported Platforms

  • iMessages
  • Twitter Bookmarks
  • Notion
  • ChatGPT History
  • Gmail
  • LinkedIn Connections
  • Reddit (coming soon!)
  • GitHub (coming soon!)
  • Discord (coming soon!)
  • Spotify (coming soon!)

How it works

Surfer Diagram

  1. Click on "Export" to initiate the data extraction process.
  2. The app waits for the target page to load completely.
  3. The system checks if the user is signed in to the platform being scraped.
  4. If not signed in, the user is prompted to sign in.
  5. If signed in, the process continues.
  6. Once signed in, the app interacts with the platform's user interface.
  7. The app then scrapes the user's data from the platform.
  8. Finally, the extracted data is exported and saved to your local storage.

Sample Exported Data

  "platform_name": "X Corp",
  "name": "Twitter",
  "runID": "twitter-001-1724267514217",
  "timestamp": 1724267623318,
  "content": [
    "Twitter Post 1",
    "Twitter Post 2",
    "Twitter Post 3",
    ...
  ]
}

Getting Started

To download the app, head over to https://docs.surferprotocol.org/desktop/installation. Or you can go to the releases page.

For instructions on setting up the app locally and contributing to the project, please refer to the Contributing Guidelines and Setup Guide.

See the open issues for a full list of proposed features (and known issues).

License

Distributed under the MIT License. See LICENSE for more information.

Built With

  • Electron
  • React
  • Tailwind
  • Shadcn UI

Contact

Surfer Discord Server - @SahilLalani0 - @JackBlair87 - @T0M_3D

Project Link: https://github.com/Surfer-Org/Protocol/

Star History

Star History Chart

Acknowledgements