onflow / developer-grants

Grants for developers that contribute to the broader developer ecosystem
Apache License 2.0
50 stars 18 forks source link

LEOS - a Web3 learning platform with on-chain verification #98

Open fanjum11 opened 2 years ago

fanjum11 commented 2 years ago

Project name

LEOS

Grant category

Description

Design and implement a basic course about Flow blockhain with on-chain verification of the hands-on exercises. This course is designed to ensure seamless on-boarding of non-programmers to the Flow blockchain

Optionally also provide a course creation tool to facilitate course creation on the LEOS platform. This tool can be used to create courses related to Cadence with hands-on verification. Each course will have multiple modules and the hands-on exercises will be verified on the blockchain. This will make it easy to teach the Cadence smart contract programming language and also to verify the expertise of Cadence coders.

In addition the course creation tool can also be used by non-tech people to create courses explaining various dapps present in the Flowverse.

Problem statement

The Web3 revolution is here and Flow ecosystem is an important part of this revolution. However, we have a huge problem. It is not easy to onboard new people into the ecosystems. Existing efforts towards teaching people about the platforms are typically focused on just explaining the concepts but without verification of the hands-on exercises needed to either make the non-coders comfortable or to help the coders deploy and have their smart contracts verified.

LEOS is focused on seamless onboarding of new users to the web3 ecosystem. Towards this we have already created a course focused on the Stacks ecosystem (https://app.leos.guru/ ). This is being used extensively to onboard new users into the Stacks community. Other dapps in the Stacks ecosystem are also considering using the LEOS platform to create educational material which will then be used as a customer acquisition tool. A course on Clarity smart contract programming language is also planned on this platform to make it easy to onboard developers in an efficient and scalable fashion.

Proposed solution

We are proposing to design, build and implement this project in two parts.

So for a person new to Flow - no more having to coordinate time with their friends to have them explain and show the various features of the Flow ecosystem before the new person can start either using the dapps on Flow or creating new dapps on Flow.

A brief video about LEOS is given at https://drive.google.com/drive/folders/17he8NB_9Gw1amTpUlHkp5N7QbXageP56?usp=sharing

Impact

Milestones and funding

Milestone Deliverables Timeline Risks USD proposal
1 - Course design Design document for Cadence 101 course for beginners 2 person weeks - 8000
2a - Implementation of Cadence 101 course - part a A Cadence 101 course at app.leos.guru - implementation of modules with on-chain verification 4 person weeks - 16000
2b - Cadence 101 course - part b Testing, QA and deployment 3 person weeks - 11000
2c - Cadence 101 course - part c Start of Marketing to other ecosystems on discord, Twitter etc - goal is to reach 10,000 people on various discord and twitter communities. This milestone will be considered complete and will be paid once 100 wallets (of new people) complete the Cadence 101 course. 2 person weeks - 5000
3 - Maintenance Resolving issuing and fixing bugs 3 months after deployment - 2000

Total funding proposed: USD 42000

Team

Name Role Bio Contact
Farooq Web2 founder, ML and Backend Engineer, Smart @blockchain092 (on twitter) fanjum11@gmail.com
A.Warsi Web 2 founder, Business Dev and Project Manager @adnanwarsi (on twitter) warsi.adnan@gmail.com

and other contractors that worked with us on the existing Stacks course.

The course will tentatively consist of the following modules. The design will be finalized during the course design phase.

chrisackermann commented 2 years ago

Thanks for the submission, @fanjum11! We'll review and get back to you shortly with feedback.

chrisackermann commented 1 year ago

Hi @fanjum11 - thanks for your patience!

We've reviewed your proposal and would like to see the milestones oriented a bit more around the expected impact of the course/course creation tool that you'll be building here. Specifically:

Thanks!

fanjum11 commented 1 year ago

Hi @chrisackermann ; thank you for your detailed feedback. We appreciate this.

I have modified the proposal to focus only on the Flow course as you suggested. I have also added details for milestone 2 The modified proposal is given below.

Milestone Deliverables Timeline Risks USD proposal
1 - Course design Intro to Flow course design document 2 person weeks - 8000
2a - Implementation of Flow course - part a A Flow course at app.leos.guru - implementation of modules and connection to blockchain 4 person weeks - 16000
2b - Flow course - part b Testing, QA and deployment 3 person weeks - 11000
2c - Flow course - part c Start of Marketing to other ecosystems on discord, Twitter etc - goal is to reach 10,000 people on various discord and twitter communities. This milestone will be considered complete and will be paid once 500 wallets (of new people) complete the Flow course. 1 person week - 5000
3 - Maintenance Resolving any issues with deployment during outreach to communities 3 months - 2000

Total: $42,000.00

Marketing will be focused on the adoption of the course by people new to the Flow ecosystem. We will be engaging with thought leaders in other ecosystems as well as with various discord communities in order to reach thousands of new users once the Flow course is deployed on the LEOS platform.

chrisackermann commented 1 year ago

Thanks @fanjum11!

Could we reframe 2c here as an adoption milestone so that we're focusing on the impact vs the marketing efforts? Instead of this milestone being the outreach, we'd prefer this to be paid on achieving a certain level of adoption of the course.

Could you please reframe this and propose an adoption milestone there instead?

fanjum11 commented 1 year ago

Hi @chrisackermann i have modified milestone 2c above with a focus on the impact in terms of the level of adoption.

Let me know if this is sufficient. thanks for all your help.

chrisackermann commented 1 year ago

Hi @fanjum11, thanks for the modification!

Can you specifically note the deliverable as the adoption, with a specific target number of people who have completed the course? This milestone should be specified/designed to be paid when that level of adoption is reached.

fanjum11 commented 1 year ago

Thanks @chrisackermann ; i added the language to 2c as - This milestone will be considered complete and will be paid once 500 wallets (of new people) complete the Flow course.

chrisackermann commented 1 year ago

Thanks @fanjum11, this is looking great. Please reflect the updated proposal from the comments into the original proposal in the description of this GH issue, so that it's more visible.

Could you please provide a little more background in terms of how these courses will work re: hands-on exercises with on-chain verification?

fanjum11 commented 1 year ago

Hi @chrisackermann sure I will modify the original proposal with the addition of 2a, 2b and 2c. I will also remove the optional sections in the original proposal.

About your question related to hands-on exercises with on-chain verification.

The course is targeted towards people new to the Flow ecosystem. This course will consist of multiple modules. We will have one hands-on exercise in each module. And we verify on the Flow blockchain if every hands-on exercise is successfully completed.

For example

1) the intro module will ask the user to download and install a non-custodial wallet like Lilico. We verify if the user has installed and connected the wallet - if so, the user passes module 1. 2) In second module we ask them to buy Flow tokens and check if they have non-zero Flow tokens. We verify this on the Flow blockchain and they pass if they satisfy this condition. 3) similarly other modules will assign exercises to the user such as send some Flow tokens, mint a NFT, check flowscan and answer questions asked, to swap coins etc. And we verify if the user has successfully performed each of the assigned exercises by verifying the transactions on the Flow blockchain. 4) Every one of these modules is designed to make the user more and more comfortable using Flow blockchain while also understanding Flow and how it's different from other blockchains.

Users who complete all modules will be awarded a non-transferable NFT. Note that finalizing the design of the modules will be part of step 1 above.

This will be similar to the Stacks course at https://app.leos.guru/app which has 8 modules. Each module has an exercise that the user completes. We verify if the user completed the exercise on the Stacks blockchain. And the user is awarded a non-transferable NFT (SBT) once we verify on the Stacks blockchain that the user has successfully completed all 8 modules.

chrisackermann commented 1 year ago

Hi @fanjum11 - this is great, thanks for the additional context!

Users who complete all modules will be awarded a non-transferable NFT. Note that finalizing the design of the modules will be part of step 1 above.

To confirm, this will be a Flow NFT, correct? Have you considered a FLOAT for this particular case? https://floats.city/

Separately, do you have a specific outline for the course prepared that you can share? It will be helpful to see the specifics of your plan similar to what you have for the 8 modules of the existing Stacks course.

fanjum11 commented 1 year ago

Hi @chrisackermann Yes we were planning a Flow NFT. FLOAT seems interesting - I had not looked at it. But we will consider this. Thanks for pointing that out.

We have a tentative outline of the course given below. This is similar to the 8 modules that you see for the Stacks course at https://app.leos.guru/app. We might modify some of these during milestone 1 (course design).

fanjum11 commented 1 year ago

Hi @chrisackermann

let us know if you need any other information from us. We are quite excited to get started on this.

chrisackermann commented 1 year ago

Hi @fanjum11 - thanks for these updates!

I'm a little concerned that the subject matter in the course modules could be a little too high level and not in-depth enough based on the outlined you've shared. While I could see it being helpful as a very intro-level resource for someone new to Flow, it seems a bit too consumer-focused than we're looking for here.

Instead, do you have any alternative ideas around a more developer-centered course (developer new to Flow) vs this more consumer-focused/non-technical intro to Flow?

fanjum11 commented 1 year ago

Hi @chrisackermann thanks for the comments.

Yes, we can take the same approach for creating a developer focused course as we have for the course above.

Btw, we are doing this for the Stacks ecosystem. We are currently working on a Clarity (smart contract language like Cadence) course focused on new developers. This will be the second course in Stacks in addition to the Stacks 101 course that is already available at https://app.leos.guru/app

Such an approach will consist of a) multiple modules that ensure that the user has built a full project when all modules are done. b) each module will have concepts, quizzes and hands-on exercises that are verified on the blockchain. Thus, the user will be building up the project and having it verified in multiple steps in the form of modules. We have found that this is a better approach for new developers.

Note that once we have the backend infrastructure (hooking into the Flow blockchain) done, developing other courses will become very efficient.

Given this,

chrisackermann commented 1 year ago

Thanks @fanjum11!

Our preference would be to focus on helping developers learn Cadence and what's unique/possible. Would you be open to focusing this course on that instead of the consumer/user focus?

fanjum11 commented 1 year ago

Hi @chrisackermann

Sure we are open to that. We will have the course focus on helping new developers learn Cadence.

chrisackermann commented 1 year ago

Thanks, @fanjum11! Would you mind updating the proposal in order to reflect this focus and let me know when ready to review again? Thanks!

fanjum11 commented 1 year ago

Hi @chrisackermann

Thanks; I have modified the very first entry here based on our discussion by specifying that this will focus on Cadence - calling it the Cadence 101 course. I have also added a tentative outline of the modules we expect to create in this course. Please let me know if you need additional information.

fanjum11 commented 1 year ago

Hi @chrisackermann let us know if you need any other information from us. I updated the proposal last week to focus on teaching Cadence to new devs. Thanks

chrisackermann commented 1 year ago

Hi @fanjum11, sorry for the delay! Thanks for making those updates - we're reviewing your updates and will get back shortly!

chrisackermann commented 1 year ago

Hi @fanjum11, thanks for your patience!

We've reviewed this proposal and would like to see the milestones more aligned with the number of Cadence developers that are enabled by going through the courses here. Would you be open to structuring the milestones a payments to have more of a weighting on the intended outcomes?

fanjum11 commented 1 year ago

Hi @chrisackermann we have a payment milestone tied to number of developers who complete the course in 2c above. Are you suggesting something different? If so, can you propose what might work for your team.

Note that the initial costs involve preparing the course and implementing it on our platform with hooks into the Flow blockchain for the on-chain verification. The users can start learning Cadence once the solution is implemented. this corresponds to the completion of phase 2b above.

chrisackermann commented 1 year ago

Hi @fanjum11!

It's good to see the adoption milestone noted in 2c, however we're looking for a better alignment of incentives around the intended outcome/impact - which is the amount of developers completing the course.

Would you consider tying more weight of this grant towards adoption vs up-front development costs? Could even consider a tiered set of adoption milestones in this case, if that makes it helpful.

fanjum11 commented 1 year ago

Hi @chrisackermann Thanks for your reply. Two comments: 1) We will need to finish steps 1, 2a, and 2b before we can engage the developers. Therefore these steps cannot be tied to the number of devs completing the course. 2) Hence step 2c is the earliest when we can engage with the devs; we can expand on this and add more marketing resources to increase the number of devs completing this course beyond 100 and these new milestones can be tied to the number of devs completing this course. Let me know if you would like us to do this.