Developer DAO Pairbot
Listen Now
About This Episode
In this episode of DevNTell, Narb welcomes MartinB and Calvaz from Developer DAO to discuss and demonstrate their creation: the DevNTell Pairbot. Designed to foster community engagement and collaboration, the Pairbot is a Discord-integrated tool that allows developers within the DAO to find partners for pair programming, learning, and socializing. The presenters walk through the registration process, setting up professional profiles with skills and timezones, and the seamless transition from finding a partner to opening a collaborative coding environment in CodeSandbox. The episode concludes with a discussion on the bot's tech stack and how the community can contribute to its future development.
Key Takeaways
The DevNTell Pairbot is built to solve the isolation problem in large DAOs by facilitating developer pairings.
It uses Discord slash commands (/add, /developers, /invite) for a native user experience within the server.
Successfully paired developers receive a private thread containing a pre-configured CodeSandbox link for immediate collaboration.
The bot is open-source, built with TypeScript, Supabase, and Discord.js, and welcomes community contributions via the Developer DAO GitHub.
Future enhancements may include mentor/mentee matching and specialized support for hackathon team formation.
Timestamps(click to jump)
Episode Transcript
Read full transcriptHide transcript
GM, GA, GE everybody! Welcome to what's going to be another fantastic installment of DevNTell. So if you didn't know, DevNTell is a 30-minute window for members of the DAO to showcase something they're passionate about or been working on. This could be an awesome project you've been working on, demonstrating unit test best practices, automation goodies, smart contracts, how to structure a project, etc. Basically, if you've got a passion for something, this is your opportunity to share it with the community. And today, I am very happy to introduce to you MartinB and Calvaz, who will be demonstrating to us the Developer DAO Pairbot. Take it away, gang.
Yeah, thank you. I'll start with some background information. My name is Martin, and my better half is Calvaz. We are co-championing the development of the Discord Pairbot. I know many people don't know that the Pairbot exists, and this is why we're here to promote it and show how it works. The idea behind the bot is to help people collaborate, learn, and make new friends. So let me show you how it works. I'll start sharing my screen.
Awesome. Just let me know as soon as you guys can see my screen. It's loading for me. Uh, yeah, I can see your screen.
Awesome. So to get started with the Pairbot, you will need to add yourself to the database with a forward slash command. This command, the commands in general, you can run in any channel that you're able to talk in. The replies are also private, so no one else will see it. For those that also don't know, you can start with a forward slash and see on the left are all the available bots, and you'll see at the bottom is Pairbot. Here you are able to see all the commands that it has, and with a description at the bottom of what each command does. But to get started, you'll need to add yourself. So we'll do that. As you can see here, you have three fields that are required: timezone, Twitter, and GitHub. So I'll just quickly add myself and fill those in.
You're filling the fields with your tab, right?
Yeah, yeah. So you can tab to go to the next field, and that's quite important. And then you just press Enter. So after doing that, the bot will reply with this message where on the first drop-down menu you will need to select your skills, and then the second one is your desired skills. I'll quickly just select a few random ones. As you can see, as I select them, I think there is a max of how many you can select. I can't remember the number, but I know it's limited.
No, you can actually select all of them.
Okay, okay. Sorry. Yeah, and you can click on the right, then you'll see those three dots, which means it's busy processing it. I'll do the same with the second drop-down with the skills that I want to learn, and it will load again. It's very important that it loads, well, that it finishes loading, and then you press continue. On this one, you'll need to select your experience level. You can be a beginner, an intermediate, an advanced ninja turtle. So I'm just going to select intermediate.
After you've added yourself, you'll be welcomed by this message where you'll see your developer profile, just a summary of everything you've filled in. And this is pretty much how other people will also see your profile. It's basically like Tinder where people can see what's up. You can also click on the links, and it will take you to your Twitter account or your GitHub account. So I'm just waiting for Calvaz to actually send me an invite, but I'm going to send him an invite as well so I can show you how it works.
Obviously, before that, you want to see what other developers are available. So for that, you'll need to use the /developers command and you'll be prompted with this response. Unfortunately, this isn't too intuitive, but Discord only allows you to work with so many components. So it will always start in alphabetical, like the person that adds first, which was David. He will always be shown first. But yeah, you can filter by those who are available to pair and those who are like by all. The second drop-down menu is then just a list of people. It goes from 0 to 25, and then these buttons at the bottom act as pagination. So you can list the next 25 or the next, you know, from 25 to 50 or 50 to 75. And that's how you go through the list. So yeah, I'll just choose Calvaz's profile. I'll be able to see his bio, that he's available, the skills that he has, the ones that he's desiring, and then the level and his timezone. To invite him, I obviously have to type in /invite and then with the developer's Discord tag. Usually, it gives me a list that is available. Yeah, Calvaz, you want to say something?
No, go ahead. And after he invites you, but of course I tried to invite you and it said that you need to be available.
Okay, okay. Okay, so the thing is, yeah, you need to make yourself available. This is just a mechanism to prevent other people from spamming you.
This is also a required field, the goal that you have in mind. That when you pair with someone, this is like learning Web3 or building a platform or XYZ.
Awesome. So now I'll be available and people can start inviting me. So I don't know if you, on the left, you can see that Pairbot has private messaged me, and when I click on it, I will be able to see Calvaz's profile. Basically, if I'm interested or not, a bit of a Tinder experience. But then you can click decline or accept. For those who have their private messages switched off, there is a channel in the Discord called pair-bot-messages, and there that same message will appear in the channel, and there you can press yes or no. But for now, I'm just going to go back and accept Calvaz's invite. And you'll see that I got another notification under Developer DAO, which means if I go straight down, new mentions, a thread has been created. And from what I remember, this is a private thread where me and Calvaz can start to interact with one another and build cool things. As you can see, it also comes with a CodeSandbox link, which means that we can do some pair programming and build things together. We don't necessarily have to work individually from different workspaces. And that's pretty much the Pairbot.
Yeah, I don't know if anyone has questions or would like to know anything. I know from a tech stack perspective, it's made using TypeScript, Supabase, and Discord.js.
Yo, this thing's looking dope. Yeah, great stuff, gang. So, the, I guess couple questions for me. So the intent of this bot is basically to have like a pool of Developer DAO folks kind on hand if anyone kind of needs a hand with like a coding project or coding issue or just wants to build things together, right? That's kind of the intent or the inspiration behind this, I guess.
Yeah, it actually, I think when I joined in November, there weren't a lot of people like talking to one another, you know, or working together on things. And this was the whole reason behind the bot: to have people collaborate, make things, and just enjoy, you know? Because it's not always fun to build on your own. But from what I understand, as things progressed, people actually are chilling now on the voice chats, people are talking to one another. So the idea has also popped up: maybe we should make this more into a mentor/mentee bot. But yeah, it's up for discussion.
Awesome. I would like to add one thing: that I mean, it could be potentially used for other scopes. For example, I was thinking about the Web3con that we did, and like there were a lot of people without a team, for example. And I mean, it could be theoretically possible to use the bot and like filter through people and their goals and like invite other people with the bot and make a team using the bot, okay? Of course, maybe you would have to add a little bit of a few features like team search or managing teams, but it could be improved and to manage these kind of things. I think it's very promising.
Yeah, yeah, most definitely, that's an awesome use case you mentioned. Yeah, because the team forming was kind of very basic in terms of strategy that we did in the Web3con. But I'm sure we're going to have many hackathons in the DAO itself. So that's definitely something the gang here can look to as like a potential feature. And the other question I had was, so you showed that you can make yourself available. So is that availability like a time-based thing, or if not, is it possible to make yourself unavailable?
Uh, yeah, of course. Sorry. So when you accept or someone else accepts your invite, or you accept someone else's invite, it automatically makes you unavailable so that other people can't invite you again. But you are also able to use /unavailable to make yourself unavailable, pretty much.
The other thing is also when this private thread is created and you want to invite other people, because maybe it's three of you that want to, or you and someone started and you guys have thought about this idea and you started hacking on this project and you want to include someone else, you can just tag them in this thread and then they'll also have access to this thread.
Oh, awesome. Yeah, that's awesome. Yeah, because it would be a pain if you had to make a separate thread between all the different people you wanted to pair with if, for example, we wanted to reuse the existing bot for like creating teams of sorts, right? So that's awesome to know.
Yeah, 100%. Does anyone in the crowd have any questions for Martin or Calvaz? Don't be shy.
Alright, if not, are there any kind of impending features left that you want people to help out with, or I guess what's the process for people wanting to help out to build out features for the bot or propose new features?
Yeah, awesome. Well, to be honest, like we're still deciding like which direction we want to go. So we want to promote this and see what people think and see if whether people are going to use it or not, or would it be better served in like web hackathon events or like education and those things? But if you want to contribute in general, the repository is under the Developer DAO GitHub account. So there's a readme file where you can read everything and there's documentation. Yeah, pretty much if you want to help. And then otherwise, you can just contact me and Calvaz, and we would like, be more than welcome to like get you set up and things like that.
Sweet. And then for Jose, I think you asked if this was open for other Discords. At the moment, no. I mean, they are available, it's available for them to set it up for themselves, right? But it's not like other Discord bots where you can right-click and say 'invite to my Discord server'. Unfortunately, we're using one database, so as soon as two different people from two different Discord servers invite one another, there will be some complication there. But all the source code is available, everything is there, so you're more than welcome to set up your own.
Yeah, great question, great question. There is also the pair-bot-project channel under Dev Guild where one can write if you want to ask or say something.
Perfect. Any other questions for the Pairbot team here? Going once, going twice... Alright, I guess if there are no further questions, we can officially end the DevNTell here. So, unfortunately, the POAPs that I requested to be created yesterday still have not come in. So once those come in, I'll for sure let the attendees here know, and I'll send you your special speaker ones, Calvaz or Martin. Apologies for that. Hopefully, they trickle in here in the next hour or so. But with that, I wanted to wish everybody a very happy Friday or weekend, whichever it is, whichever has started for you. And that we will see you back here next week with another fantastic DevNTell. So even though the recording is ending, feel free to stay on and chat if you would like. Alright, all the best gang. Cheers.
Listen On
Resources & Links
Share This Episode
Share on XWatch Episodes Live!
Subscribe to our event calendar and never miss a live episode.
View Event Calendar