developer-grants icon indicating copy to clipboard operation
developer-grants copied to clipboard

LEOS - a Web3 learning platform with on-chain verification

Open fanjum11 opened this issue 2 years ago • 24 comments

Project name

LEOS

Grant category

  • Developer training
  • Educational material

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.

  • One part is to create a course focused on newbies who are not coders to the Flow community.
  • The second optional part is focused on a course creation tool to make it easy to create courses with on-chain verification on the Flow blockchain. -- This course creation tool can be used to create one or more multi-module course on the Cadence smart contract programming language. -- This tool can also be used by non-tech people working for the dapps in the Flowverse to create a multi-module course with on-chain verification introducing their dapp. This can be a very valuable customer acquisition tool for such dapps.

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

  • We expect that this will result in thousands of people being onboarded into the Flow ecosystem. Some of these will become users of the dapps while many others will become the creators of dapps.
  • In addition, the courses on the LEOS platform will also save lot of resources that a dapp has to spend on building and marketing educational material about the dapp.

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) [email protected]
A.Warsi Web 2 founder, Business Dev and Project Manager @adnanwarsi (on twitter) [email protected]
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.

  • Module 1: Introduction to Flow, Cadence and setting up the environment and testnet account
  • Module 2: Creating and deploying simple smart contract on testnet covering basic concepts such as contracts, variables, functions and transactions
  • Module 3: Writing and deploying smart contract on testnet with advanced data types such as arrays, structs etc
  • Module 4: Writing and deploying smart contract on testnet using Interfaces, Resources, References etc
  • Module 5: Writing and deploying smart contract on testnet with NFTs and FTs
  • Module 6: Deploying on the mainnet

fanjum11 avatar Oct 01 '22 02:10 fanjum11

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

chrisackermann avatar Oct 04 '22 14:10 chrisackermann

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:

  • Let's focus this grant specifically on the Flow course and remove the course creation tooling for the purpose of this grant. Tooling can be reviewed as a separate grant proposal. Can you please update this proposal accordingly?
  • For Milestone 2, it would be helpful to see this cost balanced more in terms of build out of the course and adoption of the course. Can you please suggest an adoption milestone to this regard?

Thanks!

chrisackermann avatar Oct 17 '22 16:10 chrisackermann

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.

fanjum11 avatar Oct 18 '22 09:10 fanjum11

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?

chrisackermann avatar Oct 19 '22 17:10 chrisackermann

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.

fanjum11 avatar Oct 20 '22 09:10 fanjum11

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.

chrisackermann avatar Oct 24 '22 02:10 chrisackermann

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.

fanjum11 avatar Oct 24 '22 09:10 fanjum11

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?

chrisackermann avatar Oct 25 '22 14:10 chrisackermann

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.

fanjum11 avatar Oct 25 '22 18:10 fanjum11

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.

chrisackermann avatar Oct 28 '22 16:10 chrisackermann

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).

  • Module 1: Setup
  • Module 2: Receive FLOW
  • Module 3: Send FLOW
  • Module 4: Using Flow Blockchain explorer
  • Module 5: Multiple Keys to an account
  • Module 6: NFT Mint
  • Module 7: Smart Contracts deployment for normal people
  • Module 8: Swapping Tokens

fanjum11 avatar Oct 28 '22 18:10 fanjum11

Hi @chrisackermann

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

fanjum11 avatar Nov 04 '22 14:11 fanjum11

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?

chrisackermann avatar Nov 08 '22 21:11 chrisackermann

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,

  • Let me know if you want us to modify the above proposal to create a course focused on new developers.
  • As an alternative we can develop two courses - one focused on new developers and another focused on consumers/users new to Flow for slightly additional cost.

fanjum11 avatar Nov 09 '22 10:11 fanjum11

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?

chrisackermann avatar Nov 10 '22 14:11 chrisackermann

Hi @chrisackermann

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

fanjum11 avatar Nov 10 '22 14:11 fanjum11

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

chrisackermann avatar Nov 14 '22 19:11 chrisackermann

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 avatar Nov 16 '22 11:11 fanjum11

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

fanjum11 avatar Nov 21 '22 15:11 fanjum11

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

chrisackermann avatar Dec 02 '22 16:12 chrisackermann

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?

chrisackermann avatar Dec 20 '22 14:12 chrisackermann

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.

fanjum11 avatar Dec 20 '22 16:12 fanjum11

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.

chrisackermann avatar Jan 27 '23 21:01 chrisackermann

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.

fanjum11 avatar Jan 30 '23 01:01 fanjum11