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

ResuMe

Get attested your skills on Resume from your coworkers! Everything on chain :D

ResuMe

Created At

ETHGlobal Paris

Winner of

🏊 Worldcoin — Pool Prize

🏊 The Graph — Pool Prize

Project Description

  1. This is a platform for uploading resumes. All your information will be saved on-chain using web3.storage(IPFS). This means you will always be the owner of your own resume instead of whoever saving this for you!
  2. Whoever sees your resume can text you by XMTP on the app. Now you don't have to worry about putting your email on the internet or phone number! All your messages will be encrypted thanks to XMTP message encryption. Freely talk about new opportunities on chat.
  3. You can attest your skills on your resume page and your coworkers can attest to the skills that you attest! The best part of it is, you can bring this attestation everywhere on-chain, even outside of our app! You can own your attestations.
  4. We fetch your attestation data and recently minted poaps (max 15) to show on your resume page using TheGraph. This way we make sure our fetching is correct, fast, and cheap!
  5. Everything sounds so good... But I am a recruiter and want to make sure the information I'm seeing is legit... Don't worry! All the resumes uploaded on our app are written by "legit unique humans". We make sure all the submitted resumes are written by humans and each person can only write one resume by using Worldcon.
  6. Everyone can search for the resumes. But if you want to connect to people (write messages) or write your own resume, you need to log in with your wallet address. This is super simple for you (and also me to build), with walleconnect!
  7. Nouns artworks are used in the app to keep the consistent look in the app.

How it's Made

This project is fullstack nextjs project. We use @walletConenct for sign-in. As I wanted the app to be fully decentralized, all the resume information is saved in @IPFS using web3.storage. Unfortunately, web3.storage doesn't support deleting using js libraries. So update function is not the most beautiful here. We just filter out the old information and upload new information (and pretend that the filtered-out information is not existing anymore). I'd love to improve this part. And we are using Huddle01 for video/audio calls. If you have texted a person before, you can invite them in /meetings tab, else you can invite people using their wallet address. Then the people will receive link to join the room (link that includes roomId) through xmtp message. These meeting rooms are publicly joinable with roomId! Users can attest to their skill set using @EAS. Currently, this happens by 1. a user uploads an attestation for their skill, 2. other users attest to the skills. We also make sure that one person can only attest once for each skill. On top of it, for more transparency, we show the list of people who attest to a skill and link their wallet address to their resume page (if they have one). Extending other fields with attestation might be the next step (like education levels and work experiences). Recruiters can view people's resumes and contact them using @XMTP on the resume page. I used @xmtp/react-sdk here for implementing this chat function. Also, users have an overview page of all their chats. Also as it is mentioned above, xmtp messages are used to send audio/video meetings invitation to other users :) Attestations and Poaps are fetched using @thegraph. I reused the existing subgraphs as this was my first time using it. But next time would love to create my own one. (Though I must say there are already pretty many good subgraphs released!) We used @Nouns artwork here and there in the project. This makes sure the icons in the app are consistent and the entire design looks nice!

background image mobile

Join the mailing list

Get the latest news and updates