project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5
project screenshot 6

Eros

A 'blind' dating dapp that uses fhenix to encrpt the users data, and match users based on their hidden preferences before they can choose whether they are interested (tinder style), and then chat on xmtp. Kinto wallet used to verify they arent a catfish.

Eros

Created At

ETHOnline 2024

Winner of

trophy

3rd place

trophy

🏆 ETHOnline 2024 Finalist

Project Description

I trust a smart contract with my data more than I trust the Tinder database. All the dating apps are the same, endless pictures of men holding a huge fish. I thought I'd try and turn it on its head with this programmable privacy. Dating based on things people dont want you to know about them.... well unless you like those things to :)

Eros is a literal 'blind' dating dapp that encrypts all the users data, including age, gender, location and 'interesting' things about the user that they might be too embarassed to share publicly. The data is then used to blindly match users based on this data. For example being in the same location and having the same/similar interests.

Dating profiles are so public, and you're supposed to put all your likes, dislikes, wierd kinks out there on a public profile that you don't know who will see. So a lot of people may hold back on what they truly love or hate.

Here's an example, Liking Harry Potter is kind of cringe now (so i've been told), so even if you are a huge fan and would be happy spending your whole date talking about it, you may not add it to your profile. Missing out on your perfect match with another Harry Potter superfan.

no pics with babies and dogs or giant fish, just honesty about your interests so you can find someone who is also interested.

Its an incredibly simple interface, with a complex back end. Using Fhenix and FHE to encrypt the users data at the source before its uploaded to the contract. It stays encrypted inside the contract, where the data is then computed on to find 'matches' with other users based on what they uploaded secretly about themselves. Once a match has been found, they see your address and you can choose whether you want to share your data or keep it private forever! Users sign a permit on sign up which allows them access to their own data, but no one else will ever see it if they choose not to share it. After matching and getting basic details such as age and location, users can use XMTP to message each other and get to know each other more. Eventually building up the trust to share more. With more time I would have implimented Kinto Wallet for it's kyc features, to keep away the catfish and bots. This mvp is the most basic implimentation and there is plenty to build out from here.

How it's Made

This project is a reactjs dapp, using fhenixjs and ethers. The smart contract, written in Solidity, handles user profiles and matching logic using FHE operations provided by the Fhenix protocol. This allows for encrypted profile data and private matching computations. The frontend is developed with React and uses ethers.js for Ethereum interactions and fhenixjs for FHE operations. The app allows users to create encrypted profiles with details like age, gender, location, and preferences. It then performs matches based on these encrypted attributes without revealing the actual data. The matching process emits events that are captured by the frontend to display matches to users. The solidity contract full of fhe was deployed on remix. I used the fhenix docs mainly, their ai chat bot was nice, although did hallucinate a little which led me down some dead ends, and I had a hardtime getting enough testnet tokens due to trying to compute to much and so ending up testing contracts with very high gas. Design-wise, apart from spending the majority of the time on back end, I did want to keep the front end very basic and simple and easy to use. The tech is quite complex and but should be accessible for everyone without a learning curve. I had wanted to use the coprocessors, but that is for the future.

background image mobile

Join the mailing list

Get the latest news and updates