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

TaskComrade

TaskComrade is the first fully decentralized platform to connect people in need of help with local Taskers.

TaskComrade

Created At

ETHOnline 2022

Winner of

🏊‍♂️ Superfluid — Pool Prize

Project Description

TaskComrade, is the first fully decentralized platform to connect people in need of help with local Taskers. As a tasker, you can get paid to what you love, when and where you want. As a user, you can hire taskers based on your time, budget and need.

My project is inspired by web2 platform TaskRabbit but with improvements and extended scope in this web3 version. Currently, there is no decentralized way to create your tasker profile or to hire and make payments in crypto.

TaskComrade Benefits (Web3 vs Web2)

  1. Scope extended to use platform for hiring in any area like developer (SC, frontend), cleaning, handy services with ability to upload your resume on IPFS.
  2. Payments are made in crypto using Superfluid streams, so you pay/get paid for each second you worked. No guessing or recording time spent.
  3. Decentralized communication & notifications via EPNS
  4. Fast and hassle-free registration via smart contract on Polygon vs web2 version which can take up to 4 business days with additional step of documentation.

How it's Made

TaskComrade Architecture

  • Smart Contract Deployed on Polygon Mumbai testnest, the TaskComrade allows tasker to register and deposit a certain amount of registration fees. TaskComrade deployed at: https://mumbai.polygonscan.com/address/0xeF36aF570B566C05a52759C8628df288F997f62C

  • IPFS/Filecoin

    • All the tasker photos are stored on IPFS and the IPFS hash are stored on the table to display the images on runtime when the user searches for the tasker.
    • The supporting documents are also uploaded to IPFS using Moralis saveIPFS() method. The link to these documents are available in the tasker profile display and users can click on them to view the content.
  • EPNS TaskComrade is heavily integrated with EPNS.

    • There is an EPNS tab in the dApp to integrate the UI for convenience.

    • For the demo, installed the EPNS staging app on the android phone to receive notifications as a tasker

    • When the tasker creates the profile they are automatically prompted to 'Opt-in' the channel

    • When the user first contacts the tasker they are automatically prompted to 'Opt-in' the channel

    • Following is the flow of notifications that are sent by the dApp to have communication between the tasker and the user. a. When tasker creates their profile, a notification is sent to them as a confirmation once the smart contract transaction is successfully completed b. When a user clicks on 'Email tasker', a notification is sent to the tasker with the job description/details. c. Tasker can 'Confirm' or 'Decline' to the job offer. Both these events trigger a notification to the user. d. When the user starts the service from the dashboard an OTP is sent to the tasker e. When the user stops the service from the dashboard an OTP is sent to the tasker f. When the user gives rating to the tasker from their profile display, tasker gets a notification g. When the user add tip for the tasker, they get a notification

  • Superfluid TaskComrade payment flow is achieved by integrating with Superfluid - Stream from frontend

    • The payments are done in fDAIx super token
    • From the 'My Dashboard', user can start the stream by clicking on 'Start Stream', this will initiate the flow from user to tasker. Before starting the flow dApp checks if there is certain amount of fDAIx balance for the user. If not, user is prompted with alert message.
    • They can easily wrap their fDAI token to fDAIx token by going to the Superfluid Console right from the dApp.
    • Once the stream starts, both the tasker and user can see their active streams from the console right from the dApp. The payment status on the dashboard is updated as 'Streaming'
    • The Flowrate (wei/sec) is calculated and displayed dynamically to the user based on each tasker's hourly rate.
    • From the 'My Dashboard', user can stop the stream by clicking on 'Stop Stream', this will delete the stream.
  • Database This dApp is built on Moralis boilerplate using features like moralis-react, web3, authentication, event logging and to store data off-chain for tasker profiles.

background image mobile

Join the mailing list

Get the latest news and updates