You stake your chain's native currency and complete some task daily, so you get back your stake.
The project has a very simple idea: - You start a project while staking some eth and committing to doing x days of work on a daily basis - As you start the project you get next deadline as 24hr - When you submit a day's work 24hrs get added to your deadline time - When you are on the last day and submit last day work, 90% of the staked amount is released back and 10% is contract/service fee. - You can only start only one project at a time, you need to finish previous to start a new project. - If you fail to submit the daily tasks your staked amount will gone forever - There is facility of leave day, you get 10% of committing day as leave and minimum 1 day leave, on availing the deadline will be increased by 24hrs Things that I wanted to implement: - When a user finishes a project, the user get 90% of the amount back with some nfts based on the number of days of commitment, like if project was for 10 day user will get copper nft, if user was committed for 100 days user should get gold nft. Future scope and use cases on top of it: - Mentors can use this to check whether students are consistently working or not, mentor can verify the work using links that are submitted. For now its for self-assessment. - In freelancing websites, a gig can be posted and if the project is not completed in a time of commitment then the pay for the gig starts reducing. - We can invest the users stake into some defi protocol and the some rewards can be shared with user, so on completing the project the user gets more than he stake and obviously longer the commitment greater rewards can be earned that to by doing own daily work.
How it's made
Firstly coded the smart contract in solidty in the Remix IDE and deployed it after some testing, then I moved onto the frontend part and used nextjs, tailwindcss and ethers.js. Firstly I was thinking of building some very complex app but due time constraints and this being my first web3 hackathon I decided to go with KISS.