EverythingCoach

EverythingCoach

Solana dApp mentorship marketplace: Mentee posts requests for any mentorship, small or big. Interested mentors get connected to mentees through smart contracts. Mentors earn money and reputation.

The problem EverythingCoach solves

It's hard to find mentors in real life, especially tailored to the needs of your own.
It's hard to find solutions when you are really stuck.
It's hard to find a flexible way to learn and get mentor sessions anytime anyplace.
It's even harder to pay for your education, even online.
EverythingCoach can solve all that, with the following unique edges it has:

  • Mentorship matchmaking:
    Our dApp allows mentees to find mentors on any topic and get connected through smart contracts.
  • Secure payment and smart contracts:
    The dApp uses smart contracts to handle payment and ensure that both parties fulfill their obligations, which provides a transparent way for users to exchange knowledge without intermediaries.
  • Decentralized reputation system:
    The dApp provides a reputation system based on chain, helping mentees find highly-rated mentors. This make it easier for mentees to find good mentorship and help mentors build trust within community.
  • Low-cost transactions:
    The Solana blockchain provides fast and low-cost transactions, make it more accessible for users.

Challenges we ran into

(1) The first major challenge we faced for this project is how to design a decentralized system that can urge mentors and mentees to fulfil their duties. The solution for this task in the real world is usually to have a 3rd trustworthy centralized party that is responsible for things like process payment, checking coaching contents, and refund students. And we want to change this method from centralized to decentralized. We then decided to utilize the multisig function in Solana to build a account for both the mentor and mentee. Mentor and mentee will first form a contract based on agreements of the session, like time, location, duration, topics, amount of payment, etc. Then a multisig account is generated based on the public keys of wallets of mentor and the contract. And it will ask for signatures for both mentor and mentee. Then the mentee will transfer the payment to the multisig account first. And the multisig account will hold the payment until the session is completed as described in the contract. In this way, the original 3rd party role will be played by the multisig account created based on the concensus of mentor and mentee, which is decentralized.
(2) The second challenge we encountered is a bug the program had when implementing the initialize user feature. After signed in with the phantom wallet, the front end will check if the user has created any useraccount for this app on the Solana network. If the user has a useraccount, the front end will show

Discussion