xGov-99: AlgoLearn Platform; Starting With an Algorand-Based Discord Bot Lecture Series and Open-Sourcing Python/Puya


id: 99
title: AlgoLearn Platform; Starting With an Algorand-Based Discord Bot Lecture Series and Open-Sourcing Python/Puya
author:

  • Name: Costa, Leo
  • Email: atsoc1993@gmail.com
  • GitHub: “@atsoc1993
    category: Education, Tools
    focus_area: Blockchain Utility for Project Discords
    open_source: Yes
    amount_requested: 150000
    status: Final

Abstract

This proposal outlines a request for funding to continue and complete a comprehensive educational initiative aimed at empowering new developers in the blockchain space, particularly within the Algorand ecosystem. The project originates from a vision to create a learning platform for developing on the Algorand blockchain— a website with interactive IDEs where you can not only learn but also try out coding directly, with access to a public Algorand testnet node for real-world practice. Although all functionalities of Algorand are open-sourced in some way or fashion across various GitHub repos, YouTube channels, and developer documentation, new developers will find themselves grasping at straws when trying to compile an application of their own.

For example, we have multiple showcasings of completed smart contracts for different applications, but no content that explains why a smart contract is formatted the way it is, how to debug your smart contract, or how to walk through safely creating asserts to ensure prevention of exploits. These are complex issues, but even simple explanations or walkthroughs of various applications when developing on Algorand are spread thin across the ecosystem, with little substance explaining how things work. Starting with simple implementations and building into more complex projects, it’s vital to understand how it all comes together from start to finish. Topics such as compiling the final smart contract natively without using dAppflow, encoding and decoding the approval/clear programs, sending transactions, deducing the hex string for a particular method in a smart contract, and passing that specific methind into an argument within a transaction object, including mandatory app arguments and foreign assets that need to be passed into transaction objects lest the transaction fails.

These points highlight the endless gaps in current educational content, and extremely common mishaps that could make a 1-2 hour long project takes days or even weeks for new developers. As much as I value the work we have done so far for educational content, it is an absolute must that we expand on several developer topics and ensuring all new developers brandish the tools we have available on Algorand with confidence. This series centers on the beginning of what I hope to someday brand as AlgoLearn, and all profits will be used to fund and captain AlgoLearn. To start, a 10-part YouTube series dedicated to developing Discord bots in Python using the Algorand SDK, a common entry point for many aspiring blockchain developers. Discord bots serve as a simple, and functional front-end for most back-end applications. The series will be complemented by open-sourcing all related code, thus providing a valuable resource for practical learning and innovation in the community. For each episode, the python that we utilize is explained in detail before we progress to more complex walkthroughs where we utilize discord bots and the Algorand SDK.

Background

The intersection of blockchain technology and Discord bot development presents a unique opportunity for aspiring developers. However, the lack of open-source resources and comprehensive guides for even basic python usage on Algorand and an entry-level platform has created a barrier to entry. This initiative seeks to address this gap by leveraging the Algorand blockchain’s capabilities.

Author’s Credentials

  • Name: Leo Costa, CPhT-Adv
  • Experience:
    • Two years of development experience on the Algorand blockchain.
    • Created and assisted in developing multiple Discord bots
    • Six months of web application development.
    • Proficiency in Algorand and Discord SDK’s, node setup, database usage, and blockchain querying.

Detailed Proposal

Series Outline:

EPISODE 1 - Setup
In the first episode of building an Algorand blockchain-based Discord bot on a Windows PC, we walk through these steps in order: installing Ubuntu, manually setting up an Algorand node, getting Visual Studio and its extensions, Python, pip, and the Algo Python standard kit installed. We’ll also get our Discord server and bot ready for testing by sorting out permissions, setting a secret bot token, and configuring our code to connect to the Algorand blockchain and the Discord bot.

EPISODE 2 - Wallet Integration and Payment Transactions
In this episode, we’ll cover some basic Python concepts including variables, functions, calls, return statements, lists, dictionaries, conditional statements, and for loops. We will apply these concepts while creating a simple Discord bot for handling payment transactions, registering users’ Algorand addresses, and accessing account information on the Algorand Blockchain."

EPISODE 3 - [1/2] Pokemon Battle Discord Bot: Coding Without Node, Creating Metadata Templates, Uploading Images to IPFS, ARC-69 Standard Asset Creation Transactions
Create Pokémon-esque characters using ARC-69s on Algorand Blockchain— we’ll go over metadata templates, IPFS uploading for image hosting, list/dictionary review, and sending asset configuration transactions without a node! This is a two-part episode which will be followed by Episode 4, where we learn how to create a Pokemon battling Discord bot and alter properties of our Pokémon NFTs like experience, levels, and even make them evolve!

EPISODE 4 - [2/2] Pokemon Battle Discord Bot: Simulating Training and Battles via Discord Bot using the PIL Library and Embeds, Pulling Data using Algonode Indexer for Current Pokemon Stats, Asset Configuration Transactions to Increment Stats, Level-up and Evolve Pokemon

EPISODE 5 - Discord Card Game Bot and Asset Transfer Transactions

EPISODE 6 - Replicating A Pseud-Algoexplorer.io Platform with a Discord Bot by Analyzing Blocks

EPISODE 7 - Encrypting Messages in Note Fields and Creating a Direct Messaging Discord Bot

EPISODE 8 - Creating and Funding Discord Bot Wallets to Simulate Wagers or Staking

EPISODE 9 - Write and Deploy Smart Contract using PUYA from Algokit 2.0, and Integrate Smart Contract with a Discord Bot

EPISODE 10 - Preparing for the Second Series, Intro to Javascript and Web Applications

Timeline:

  • The series will be released bi-weekly over the course of 20 weeks, (3 episodes have already been released) ensuring ample time for community feedback and iteration.

Future Blueprint

Based on community feedback, future proposals will focus on:

  • Backend/frontend web application development on Algorand.
  • Developing the AlgoLearn Platform
  • Development specifically using React Native, and perhaps the Unity, Unreal or Swift SDK as per community interest.

Community Benefits

  • Onboarding Platform: AlgoLearn, which will facilitate an easy entry point for community members into Algorand development.
  • Practical Learning: Offers hands-on experience through guided and in-depth tutorials and interactive web IDE’s.
  • Innovation Stimulus: Encourages the creation of new, blockchain-integrated projects and streamlined learning/research.

4 Likes

Your tutorials are interesting.
But there are lot of free discord bots available. Also algorand developers are building tutorials that for TEAL, PyTEAL now and may be PUYA in the future. These tutorials are good enough for an experienced developer to get started.

For upcoming developers, they need in-person guidance and also start to finish videos on smart contract and SDK based development.

May be you can split your proposal to multiple milestones so that community will be more confident each time you deliver on the milestones.

1 Like

Hello again AP,

I’d like to make clear that discord bots serve as a simple front-end application that do not require the knowledge of two separate languages. Think of it less as “Discord Bots” and more-so in-depth dives into Python and the Algorand Python SDK.

The discord bots are a sort of white board to present what we’ve learned in the simplest possible way; I plan on creating a second tutorial series where we actually build web applications, but developing a front-end in JavaScript on top of the “backend” we’re creating for the discord bot would be too much to crunch into the current curriculum. The value is not in the open-sourced discord bots, but the learning process leading to them, which can be interchangeably used with any application that allows a Python backend.

Again, the emphasis of the tutorial series is moreso on Python and the Python Algorand SDK, and I wouldn’t fixate too much on the discord bot aspect in terms of the value it brings. Regarding the statement about the current tutorials available, if you don’t mind I’ll copy and paste what I mentioned in my response to your GitHub comment:

“I’m a big fan of the @algodevs YouTube channel. However, I’ve struggled to implement the content they cover and have mostly learned independently aside from a question here and there to seasoned developers.

Firstly, I noticed that there are no videos on the Algorand Python SDK on their channel. They do cover the Algorand Javascript SDKs in three separate 10-minute videos titled: 1. Deploy and Call Algorand Smart Contract, 2. Creating ASA and Asset Transfers, and 3. Creating Accounts and Payment Transactions.

I respect them and have nothing but wonderful things to say about what they’ve showcased on their YouTube channels; however I believe that for beginners, watching a 10-minute video with 200 pre-written lines of Javascript isn’t the most effective way to learn. My videos, except for the basic setup, are over an hour long and go into each line of code in great detail. I think complex concepts need thorough explanations, not just presentations.

Take, for example, setting up a group transaction, which isn’t covered in their videos. To understand this, a beginner would need to know what a list is, the importance of a GID and how to access a transaction’s class attributes, and the concept of a class itself. Group transactions are just one of many topics that aren’t readily available and can’t be easily grasped by simply reading documentation or watching a 10 minute Javascript video, especially for newcomers.”

Edit: I wanted to comment on the milestones you mentioned as well—I am completely comfortable with setting biweekly milestones instead of expecting a one-time sum, but did not want to overcomplicate the process since I have already released 3 episodes out of the 10 proclaimed episodes in the proposal and am close to completing the 4th episode. The reason I did release 3 episodes and open source all content on my github was to manifest this bode of confidence without requiring an additional milestone process, and to embody my experience, and the teaching methods I use as a prime example of the content expected.

Edit Edit: Another comment I did want to address which I spoke about on another platform, was that although there are a few developers ready and able to create things for free, this isn’t a scalable or reliable solution long-term. We shouldn’t say “We do not need someone to create a lecture series on this, because I know Person A and Person B might do this for free”. We should be respecting these developers time and holding their experience to a higher value—we must equalize the learning curve so that the burden of completing work for free that can be easily completed by others is deincentivized. This leaves room for them to complete more complex tasks, and pave the road for new developers to work towards doing the same.

1 Like

This looks great!

I think it would be wise to build this around a dedicated website with a clever name, so you could possibly build a brand around this concept and expand. Hosting these videos on you tube, with proper tagging is of course a no brainer.

You definitely have a unique and calm style that i think will resonate with new developers.

More helpful walkthroughs the better at this point.

4 Likes

This looks interesting.

1 Like

Imo thats way too much for something that a developer should be able to figure out relatively easy themselves. It sounds like you want everyone be able to develop a discord bot but I dont see the value in this. Discord bots can be great for a project but they are not mandatory at all for a project to have and if you would want a quality discord bot you simply would hire someone to do it.

1 Like

The requested amount is imo way too high, and I don’t see it as a massive value add. Specially considering that the foundation is actively working on a set of zero-to-hero courses for developing on Puya and TealScript. Considering there is already considerable efforts being done by them, I’d wait and see what they deliver before relying on the community. It’s also a first release, so a significant amount of the content will be outdated pretty quickly considering how fast things change in initial releases.

1 Like

My Barb News Bot was ~$80.

1 Like

@lobo Evening, please see the comment in response to AP above yours, the discord bots are a stepping stone for brand new developers to make their first strides into an MVP on Algorand. Their only significance in this proposal is to serve as a simple front-end, the value is in the back-end development. There are several discord bots that already exist, and the value of the proposal is for educational purposes, not open sourcing a plethora of specific Algorand-based discord bots. There is also discussion in the proposal about what the funding will actually be used for.

@Barb Evening, please see the comment in response to AP above yours, the discord bots are a stepping stone for brand new developers to make their first strides into an MVP on Algorand. Their only significance in this proposal is to serve as a simple front-end, the value is in the back-end development. There are several discord bots that already exist, and the value of the proposal is for educational purposes, not open sourcing a plethora of specific Algorand-based discord bots. There is also discussion in the proposal about what the funding will actually be used for.

xGov-99: AlgoLearn Platform; Starting With an Algorand-Based Discord Bot Lecture Series and Open-Sourcing Python/Puya - #3 by Atsoc1993

Huge fan of the zero-to-hero series that is in the works, however I have a strong feeling purely based off my experience with all currently released educational content that there will still be a hole in the learning process that can be filled not only by AlgoLearn, but the actual implementations I’ll be showcasing in the tutorial series alone.

Nonetheless, I would always encourage as much educational content as possible, but it’s important that we keep this content consistent and in-depth, lest we open up a Pandora’s box of potential with no methods in place to guide that potential. Just to clarify, the tutorial series on Discord bots does not encompass all that is being brought to the table by this proposal, this is outlined in the proposal.

I appreciate your feedback, and I apologize if the proposal was not clear.

Hello all-- after reviewing feedback across different platforms and discussing the proposal with various members of the community, I have decided to rephrase the concepts and title of the proposal to prevent misunderstandings of the proposal’s intentions and correct several other errors in formatting brought up to me. Note that the requested Algorand amount has also been decreased to 120000 from 150000.

The updated proposal will be posted below this comment.

1 Like

id: 99
period: 3
title: AlgoLearn Platform; Interactive Learning for New Developers
author: “Costa, Leo (@atsoc1993)”
email: “atsoc1993@gmail.com
discussions-to: xGov-99: AlgoLearn Platform; Starting With an Algorand-Based Discord Bot Lecture Series and Open-Sourcing Python/Puya - #4 by D4O
company_name: Independent
category: Tools
focus_area: Education
open_source: Yes
amount_requested: 120000
status: Final

Abstract

This proposal outlines a request for funding to pursue a comprehensive educational initiative aimed at empowering new developers in the blockchain space within the Algorand ecosystem. The project originates from a vision to create a learning platform for developing on the Algorand blockchain— a website with interactive IDEs (Integrated Development Environments) where you can not only learn but also try out coding directly, with access to a locally hosted Algorand testnet node for real-world practice. Although all functionalities of Algorand are open-sourced in some way or fashion across various GitHub repos, YouTube channels, and developer documentation, new developers will find themselves grasping at straws when trying to compile an application of their own.

For example, we have multiple showcasings for different varieties of completed smart contracts for different kinds of applications, but no content that explains why a smart contract is formatted the way it is, how to debug your smart contract, or how to walk through safely creating asserts to ensure prevention of exploits. These are just more complex issues, but even simple explanations or walkthroughs of various applications when developing on Algorand are spread thin across the ecosystem, with little substance explaining how things work. Starting with simple implementations and building into more complex projects, its vital to understand how everything comes together from start to finish; topics such as: compiling the final smart contract natively without using dAppflow, encoding and decoding the approval/clear programs, sending transactions, deducing the hex string for a particular method in a smart contract, and passing that specific method into an argument within a transaction object, including mandatory app arguments and foreign assets that need to be passed into transaction objects lest the transaction fails.

These points highlight the endless gaps in current educational content, and extremely common mishaps that could make a 1-2 hour long project takes days or even weeks for new developers. As much as I value the work we have done so far for educational content, it is an absolute must that we expand on several developer topics and ensuring all new developers brandish the tools we have available on Algorand with confidence. This series centers on the beginning of AlgoLearn, and all profits will be used to fund and captain AlgoLearn indefinitely. See “Present Proposal” section for details about AlgoLearn and what this proposal will manifest.

Team

Leo Costa, experience providing lessons in programming to community members, creating walkthrough guides in video format and github.

Experience with Algorand

Two years of development experience on the Algorand blockchain.
Proficiency in Algorand SDK’s, node setup, database usage, and blockchain querying.
Bumper three.js web3 game with smart contract implementations
Foodie City Marketplace
Seals Metaverse Unity game development
AlgoLotto Raffle website
Created and assisted in developing multiple complex bots eg; Pseudo-explorers and Marketplace Watchers
Six months of web application development

Present Proposal

This proposal presents a request for funding to develop and launch AlgoLearn, a comprehensive educational platform aimed at enhancing developer proficiency within the Algorand ecosystem. AlgoLearn will be an innovative learning platform, featuring interactive IDEs where developers can learn, code, and interact with a public Algorand testnet node in real-time. While existing resources provide a scattered understanding of Algorand functionalities, AlgoLearn seeks to consolidate these learnings and offer in-depth, structured, and hands-on educational content. The platform will cover fundamental programming concepts, intitiating connections and querying the blockchain, executing all types of transactions, launching and interacting with smart contracts and assets adhering to different ARC standards. Beyond Algorand-specific content, AlgoLearn will offer comprehensive educational materials on FUNDAMENTAL programming concepts critical to blockchain development, ensuring a solid foundational knowledge base for developers.

AlgoLearn will also provide complete and easy to understand project examples that do NOT overload learners with hundreds of lines of code across multiple files— and instead, all project examples will be concise, and their successful testing in a local environment will be tightly guided to guarantee deployment and learner success.

The vision for AlgoLearn is to serve not just as a repository of information but as an active and interactive learning hub, facilitating real-time coding, problem-solving, and testing through its advanced IDEs.

AlgoLearn will start as a series of structured chapters, each focusing on distinct aspects of Algorand development:

Introduction to Algorand & Setup:

  • Overview of Algorand ecosystem.
  • Setting up development environment and interacting with Algorand nodes.

Programming Fundamentals & Algorand SDKs:

  • Covering fundamental programming concepts.
  • Detailed walkthroughs on using Algorand SDKs in supported languages.

Transactions on Algorand:

  • Understanding all types of transactions.
  • Hands-on tutorials on creating and executing transactions from asset transfers to smart contract interactions in at least 2 programming languages at conception.

Smart Contracts & ARC Standards:

  • Diving into Algorand smart contracts compilation in Pyteal/Puya.
  • Exploring different ARC standards for smart contracts and assets, as well as their applications with example implementations

Interactive IDE & Real-time Coding:

  • Coding directly on the platform with an interactive IDE.
  • Access to a public Algorand testnet node for real-world practice and testing.

Challenges & Quizzes:

  • Reinforcing learning through practical challenges.
  • Quizzes to test understanding and retention of the material.

Future Blueprint

Based on community feedback, future proposals will focus on:

  • Expansion of the lecture series to cover advanced backend/frontend web application development on Algorand.
  • Enhancing community engagement with the AlgoLearn Platform and/or providing initiatives for learning
  • Development specifically in less popular languages; for example the Unity, Unreal or Swift Algorand SDK’s available as per community interest.

Benefits for the community

The integration of blockchain technology into the learning ecosystem through AlgoLearn represents a transformative step not only for developers choosing to enter the space but for existing community members interested in programming. The current landscape, while rich in potential, often leaves aspiring developers navigating disjointed resources. AlgoLearn is poised to bridge this gap by offering a structured, comprehensive, and interactive learning platform.

  • Onboarding Platform: Funding will assist with development of AlgoLearn, which will facilitate an easy entry point for not only prospective developers, but our internal community members into Algorand development.
  • Practical Learning: Offers hands-on experience through guided and in-depth tutorials and interactive web IDE’s.
  • Innovation Stimulus: Encourages the creation of new, blockchain-integrated projects and streamlined learning/research.

Additional information

Timeline:

  • The AlgoLearn Platform should be expected to be complete within 3-4 months, although I matriculate part-time— the funding will provide resources to fully commit to AlgoLearn and foster it to conception.

Example for Proof of Work/Understanding:

1 Like

In the final iteration, I would still consider linking to one of your videos so people can see what the work looks like. Just choose your best one.

1 Like

Done! Added to the bottom. Will be creating a separate thread and figuring out how to lock this one.

Please see below for the updated proposal, and would discourage further commenting on this thread.