project screenshot 1
project screenshot 2
project screenshot 3

Profile Pulse

cross-chain identity graph that utilitizes your web2 and web3 ownership

Profile Pulse

Created At

ETHOnline 2023

Project Description

offers a user-centric platform that focuses on verifying and binding identities from various platforms to a user's Ethereum address. Here are its key features:

User Authentication with Twitter:

The app allows users to authenticate using their Twitter account. Once authenticated, users are prompted to confirm their Twitter handle. Humanity Score Calculation:

Each user is assigned a "Humanity Score" that quantifies their online presence and verification across multiple platforms. The score is visually represented as a progress bar, with the percentage determined by the number of verified sources linked to the user. Ethereum Identity Binding:

Users are able to bind their Twitter (and potentially other platform identities) with their Ethereum address. This is done by signing a unique message. A signed message is then posted on the user's Twitter to publicly verify their claim. Display of Linked Identities:

The main content area of the app showcases the identities that the user has linked. Each linked identity displays the platform name, display name, and other associated data. Backend Communication:

The app interacts with the web3.bio API to fetch identity data based on the user's Ethereum address. Proof of identity binding is sent to the proof-service.next.id service for verification. Security & Privacy:

Private keys, crucial for Ethereum transactions, are managed securely. The app emphasizes the importance of not sharing or exposing these keys.

How it's Made

Technologies Used:

React: The frontend is built using React, a popular JavaScript library for building user interfaces. React’s component-based architecture made it easier to break down the application into reusable pieces.

Next.js: This provided the server-side rendering capabilities, allowing for improved performance . It's also responsible for routing and page generation.

NextAuth: Integrated for user authentication, specifically supporting Twitter as an authentication provider. To add to Humanity score.

ethereumjs-util: This library facilitated Ethereum-specific operations, such as signing messages with a private key. It's crucial for the identity binding process.

Buffer: Used for encoding and decoding data, especially when dealing with Ethereum signatures.

Piecing It Together:

The application starts with the user's authentication using their Twitter account via NextAuth. Once authenticated, the user is prompted to sign a message that binds their Twitter handle to their Ethereum address.

Upon confirmation, a unique message is constructed, which the user signs using their Ethereum private key. This signed message is then tweeted out for public verification.

Concurrently, the signed message and other user details are sent to a backend service (proof-service.next.id) for further verification.

The user's linked identities and verification status are fetched from the web3.bio API using their Ethereum address and displayed in the main content area.

Partner Technologies:

web3.bio API: This API was essential in fetching the identity data linked with a user's Ethereum address. It streamlined the process of gathering a user's linked platforms and details.

proof-service.next.id: This service is pivotal in verifying the user's identity binding. It ensures the integrity of the binding process and confirms the legitimacy of the user's claim.

Notable Hacks:

Humanity Score Calculation: Instead of just displaying linked identities, the app quantifies a user's online verification through the "Humanity Score." This score, represented visually, gives users a quick glance at their verification status across platforms.

Timeout for Tweet Verification: After the user tweets their signed message, there's a deliberate pause (timeout) before prompting them for the tweet URL. This ensures users have adequate time to complete their tweet before proceeding.

This project is a blend of decentralized identity verification with centralized platforms, ensuring a seamless and trustworthy verification process for users in the blockchain domain.

background image mobile

Join the mailing list

Get the latest news and updates