📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

Agents League Battle 1 - Creative Apps (GitHub Copilot)

Visual Studio Code58:27

Transcription

Live.

Hello everyone and welcome. All right, let's get started. Hello everyone, welcome. And hi Liam, how are you?

Hey. Hey. It's uh I'm good. How are you? How's things?

Good. It's exciting. Today, today we are kicking off something really, really exciting for us. We've been waiting for so long. Agents league. It's a two week developer challenge to build AI agents u by choosing any uh track that works the best for you. So, I'm just here to do a quick intro and hand it over to you.

Super. Super. All right. So let's jump into what Agents League actually is because I'm sure everybody is questioning that right now. So this is a place for everybody to come together in the community and start building some really awesome apps and some creative apps with some of the tools that we have such as GitHub Copilot and that is one that we're going to dig into today. So today we're going to be looking at agency creative apps and this is where we want you and well actually I've got a couple of speakers that are going to join me but we want you in the community to build these applications from scratch and today you're going to see how the experts and how folks at Microsoft and and GitHub are doing this firsthand.

So what is Agents League? It is essentially a live battle and I use that term loosely. Uh, but we're going to see two speakers on the stream today, both Martin and Rayod. And we're going to see how they think through their process, how they build their applications, what they're sort of asking GitHub Copilot, how they're utilizing the code editor, and all of the features that go with it. The aim of this is to build very quickly, but we want to eliminate the oneshot prompt. We want to show you how you can use different prompts, different languages, and different models maybe to see how you can actually build these applications.

Now, there is a Discord channel for this as well. So there is a QR code at the end which we'll get to just in a moment where you can have a discussion, you can talk to us and there's plenty of other folks from Microsoft on there as well to help you through this. And yes, you are reading that correctly. There is absolutely a $500 gift card at the end where you where you can spend on I don't know maybe it you can tell us what what can you spend that on? Is she there? She's not. Maybe not. We'll come back to that one. But you can spend you you can win a prize.

Now there are three tracks. We've got creative apps which is today's one. Now this is GitHub copilot. We've got reasoning agents which is Microsoft foundry. So for those of you who are familiar with Azure and deployments and using the cloud then that is for you. And of course you've got enterprise agents. So M365 agents toolkit where you can build business ready agents integrated with M365 copilot. So, we've got a really cool spread of different tracks and different things that are going on for you to go ahead and play with and build. Really, really awesome.

Now, the dates, what are we at? So, week one, this is only a twoweek challenge. Week one is from February 16th, so I guess yesterday until the end of this week, February the 20th, and we've got three days of awesomeness. So, today we have got on the 17th, we've got creative apps on we have got a mistake on that slide there. But over the next two days, 18th and 19th at the same time, we have got reasoning agents and enterprise agents. And then next week, we have got the AMAs on Discord. Now, I did update that one. That is February the 24th, February 25th, and February 26th, where you can go ahead and you can chat and you can see what is going on with the community where we're going to show you what we've been up to and what you have been up to with these applications. And then on March the 1st, you that is your deadline for submissions.

Now, how do you submit, you ask? Well, you're going to head over to ak.msagents league, which will take you to the main repository. On the main repository, you're just going to go ahead and create a simple issue. So, there's a green button in the top where it says new issue, and you'll click on project submission. You'll fill it out for your track, your name, all the other cool things which you have been up to. There's a couple of questions on there which we're just asking you for to to fill out for us. and then we go ahead and we will go and rate them and we'll we will have a look at them. We'll play with them. We'll see exactly what you have been up to.

So, prizes and recognitions. All participants will get a badge. Everybody loves badges, right? You love that little gold star. I do and I know a bunch of the folks that are on here do as well. The cateory winners, you win $500 for each track winner. So, it's not just one overall, it's each track winner. And then the special awards, Get Up Copilot Pro for community favorites. Now, that is really awesome because it means you can go ahead and continue playing with some of the really awesome AI tools that we are using.

Now, I don't want to take up too much time. I really want to get into this and I want to have a conversation with the speakers. So, who are the competitors for today's stream? We have got Martin Woodward who is a beefy a deer at GitHub and we've got Reol Adolf who is a senior developer advocate here at Microsoft who's actually on my team which is the developer tools team for VS Code and it's great fun. So I'm going to jump out of here. We can stop sharing my screen and we can have a little bit of a conversation. So how are we everybody?

Doing good. Thanks for having us Liam and Reynold. I'm always impressed with your camera. I thought mine was good, but you always look beautiful in these things.

It's amazing. I I'm very jealous of your camera, man. I think I spoke to you about about the setups before and uh I've never managed to get it quite right, but it's fantastic. Uh where are we in the world? Where is everybody?

Can you hear me?

I can now. I I am in Los Angeles, which is actually one of the reason why I got this camera because I would I was experimenting with doing shorts and stuff to see if I like the writing process in Hollywood. I don't um but I have the camera still.

Love it. Land of Hollywood. Land of Hollywood.

I'm joining you from somewhere a bit darker and a lot cooler and that's uh sunny Northern Ireland is where I'm joining you from today, Liam.

Love that.

And then who we got? We got Royce is from Texas. Uh we've got uh Dovy is from New York. Uh so this is great. Great to see everybody in chat as well.

Wow. Amazing stuff. This is global. I absolutely love this. This is this is the best bit about doing these streams with everybody. Uh everyone in the world likes to jump in and it's great to see where they're from. So I mean you say it's sunny in Northern Ireland. It's definitely not sunny in London where I'm currently sat. Uh so let's dig into this one. I guess man, we're going to give 20 minutes or 25ish minutes where we're going to run through what you've been building, how you're building it, and just have a little bit of hack around. So, can we share your screen and let's just have a conversation?

Okay, that's not my screen. That's Rainord's screen. So, hopefully we'll be able to go on to my screen. Let's have a quick sec. Sorry about this everybody. We're just playing with some technical buttons. We'll get there in a second. Am I sharing my screen is a good question. Let's uh let's double check. Uh

yeah, you're not sharing your screen.

Going to give it another go. Here we go. In oh entire screen. Uh that one. There we go. Hopefully you can see it now. There we go. Hello. There we are.

Lovely.

Right. So, I'm joining you from the Mac and we're going to do iOS application development. Liam, have you ever built an iOS application?

I have. Yes. So, I was playing with Swift in VS Code actually. So, it was only the the other week I was doing this and it was actually inspiration from one of your posts about this. I saw a LinkedIn post on to-do hub and I was like, "Oh, I better dig out the archives and just play around with some swift." So, what is

I've never ever ever built an iOS application like I kind of I would get started and do like the tutorials and just get stuck. So, I knew like what I needed to do and I kind of did a bit of and this was before Swift as well. This was with it all, you know, all the APIs were like NS whatever and it was all like Objective C type stuff. So to come back into it and like have Swift there um is great. But mostly I was just like, you know what, I've got C-pilot now. So why why why bother doing stuff that's only in a language and um development environment that I understand because I normally, you know, do like Python or .NET or whatever um absolutely in VS Code. And so I'm in a completely different environment and learning stuff. So yeah, that's what I'm going to do. Do you want me to show you through the app first of all and give you a bit of a demo of what built so far and then we can have a hack about?

Yes, please. Yes. Let's let's see what this is and what it does.

Yeah. So um the the basic process I built it built this all um I started off with a command line and then now I'm in full development. I'm using a combination of the command line VS code and the co-pilot coding agent. So we can kind of show you all bits of three. But if I'll give you a quick demo of the app. Um first of all I'm going to sign in to my little iOS application. So I'm going to hit sign in with GitHub. And you know all that o like nonsense, the nightmare that is o and figuring out how to do all that flow. Copilot just one shot implemented this all for me and told me exactly what I needed to do to go set up all my oorthth secrets and things like this. uh question.

What's that? Sorry.

What model did what model did you use to do that? Because I know that the selection of model really makes a difference when it comes to actually developing with these AI tools. What do you remember what model you used to get started with this?

Um I used um this one. I think I used Opus 45 at the time.

Okay.

If I remember rightly nowadays my daily driver, sorry I'm let me now I'm wondering what my passcode is here actually. Uh, I'm uh I'm excited. Wow, that was that was amazing that I just guessed that. Um, the um yeah, I I was using nowadays my daily driver I'm swapping right now between codeex like codeex 5.3 is amazing and so I've been using that a lot and then Opus 46 a bit as well. um just sort of and I'll sort of swap and change. And then occasionally I'll also um use like one of the smaller models if I need to do something basic. So say if I'm just creating a simple web page, I'll just use like HighQ or like GPT5 or you know one of the lower lower models to do something super quick. And we can we can have a play in a second. One of the things I actually do is um

has my screen stopped sharing magically? I think it's just died. So, apologies to the people in the back end.

Yeah, apologies for that. Uh, let me do uh share my entire screen again.

That's going to that's going to mess everybody up. I I promise I didn't press any buttons to do that. That was my computer that decided to to break that. Um, so um yeah, and then I'll sometimes use smaller models and sometimes I'll actually get co-pilot to pick a model and use different models as it goes. Yeah, carry on. Sorry.

No.

Yeah. No, I said super. This is It's brilliant to see this. Um I I think a lot of people struggle with using models and model selection. I certainly struggle with that. Uh understanding when to use the right model and for what task they're good for. And I am absolutely seeing some some comments in the chat about that actually. Um somebody said, "AI struggles with Swift." Absolutely. Um and that's based on training data, but it's getting better. It's getting much better. I'm just going to stop sharing briefly, folks. Or if if somebody wants to switch my screen off while I just enter my 2FA token here, just wait for that to go. In fact, let's just do I'm just going to do stop sharing. Sorry about this. Sorry about this, folks. And I'm going to copy that over. Do this. I did have this logged in before I joined, but obviously uh the um demo gods are not uh not persevering. There we go. Share screen. our entire screen that one. Okay. Now then, and what that what that magically did was uh I just had to do my 2FA password there as well because I'm actually secure and I'm logging in as this Mona user. But all that flow was taken care of by the model for me. Like it it built out all that stuff. And then it even I even told it to create me a readme file to then tell me how to do to configure because you have to create like a an application within the GitHub stuff and like rather than reading a bunch of documentation and things. I actually told Copilot to give me a read me that told me how to set that up. So if I go in here and quickly look at the source code, it did all this how to get started. I told it it gave me those instructions. So then I went and follow these instructions you know again. So it's like customized documentation if you like it. It does all the reading of the docs for me and then gives me the version and I can kind of just copy paste stuff and f you know do all the appropriate things and follow all the right steps and all that sort of thing. That's typically what I do.

Um so yeah. So now I've actually got it logged in. Um so now we can see here's a couple of tasks. I can come in here and I can say uh demo this to uh agents league if I can spell league which I probably can't. There you go. Hit plus. That creates the um to that creates the to-do list item for me. And then that shows up here in my task board over on GitHub because the way that I personally work is I use GitHub issues for tracking all of my things. But to actually record an issue was a pain because I had to log into GitHub, do a bunch of stuff. GitHub has a mobile application and I could use it. But again, I had to do it do it in the right place and that was like seven or eight clicks before I could actually, you know, create the issue. And I just wanted a super quick app that I could use to record stuff and then also do things like this where um I can change the order of preference. So maybe I want to set up test flight before I demo it to everybody and then that's going to update the board live here for me. Um I can um again because copilot's amazing. I was like well this is cool but wouldn't it be better if I had voice transcription and things. So again with a single prompt I told it to he says let's add voice transcription. Very cool.

And I hit the plus button and then it adds in the issue. And so when I'm walking around being all important and VP and deleting a million emails, I or like doing my shopping or whatever, I can go and create lots of to-do list items, create lots of issues. When I've actually done the thing, like I've I've added voice transcription, I can just check it off and mark it as done, and it goes and puts it into the done pile. um this demo to agents league. I want to set a due date for example of today on that. Um and I want to set a priority of um it's extremely uh sorry come in here. Why is that not working interesting? Uh okay, cool. I'm going to set high priority. Not going to assign it to everybody now, but I'm going to hit save. I could add a description and you'll actually see uh that was demo to us to Agents League. If I click on the issue that's related to that, um, we can come in here and it's set the priority to high and things. So, all it's doing is it's yet another to-do list application, but the back end of it is backending it in GitHub issues for me. And then it uses the project's API uh to store additional metadata that's not in the issue.

That project's API is a GraphQL API. And again, like I know how to do GraphQL, but like GraphQL is so much harder to use than a nice like REST API, even though it's much more powerful. And so the fact I was able to just have it go do all that business logic for me was amazing and just saved me like hours and hours and hours. So what what what was an idea became an actual thing that I use and then I have deployed to test flight and I actually have um like here on my phone actually sits there and I just go in and I click it and log stuff. So it's something I using every single day now and improving on. So that's how I got started anyway was with a command line and everything else.

Love that. Right. So we got about 15 minutes. hack something together and just see how you think and what your thought process is when using GitHub Copilot.

Yeah. Well, what I was going to do is show you how some of the things were built because I did it all using Copilot itself and so it's all logged as issues. So, the initial prompt I did and then we can go add a feature if we've got time kind of thing. Uh the initial prompt I did using um the copilot command line itself. Um, again using the Opus uh model is what I originally did it in. Right now I'm using codeex 53, but these are the models, you know, and I can pick whichever model I want like uh codeex, you know, uh I'm going to need that one or whatever. But I I um right now, as I say, I'm using um codeex quite often as my uh as my daily driver. Uh 53 codeex. There we go. Uh and I I keep it in high mode. Don't know why. Uh I figure the performance is fine for me and it still cost me one request so why not have it in high mode.

Um

absolutely. So that's what I did mostly and then you know create an iOS application that does blur and do the command line and that was great because I had nothing no structure whatsoever. And so kind of the CLI was like my you know if you're doing a watercolor painting it was like you know doing the bits of green doing bits of blue sketching out the rough kind of shapes of my application. Um that's that's how I got set up. If I'm doing something super small like like here it says to-do list in the top banner, but maybe I want to change it and you know get it to say something specific or add a to-do down there. Um that's where I would come in to say something like um VS Code and I would use again uh agent mode with inside of VS Code and then say something like change the banner to to-do todo uh list not uh to-do list in the main app page. Um so maybe I do that.

Go ahead.

I think you touched on quite an important point there between the distinction of the CLI and VS Code and Copilot. So I get this question quite often actually depicted in a really nice way where you just kind of do the the outline with the CLI if you can get that far and then sort of you need more bells and whistles and features you jump into um into the code editor. And there's that slash IDE command now where you can actually connect them together and they kind of like keep the same sort of session or like the same workflow.

Yeah, this is actually already connected here as well. You can see when I fired it up, it was automatically connected to insiders for me.

Super.

Um, it's pretty cool and it keeps the same context which is nice. The way I look at it is um the the advantage of doing this. Hang on a second. So, it's changed two files. And so, I look in here and I've got like swift.template and then I've also got uh um yeah, it's changed it in in like two places there. The advantage of um this is that it's I'm closer to the code. So, for me, it's about it's about how asynchronous you want to be. So, with the command line, if you want to just do it asynchronously and fire and forget kind of thing, then the command line's great for that. Um, but as you get super close to the code and you're iterating, that's where I'm in VS Code. And then so that's kind of how I would make a small change. The other part place where I make changes is actually um before I go to bed, I like try and think of some features I want to do or while I'm working on the application, I'll try and think of some features. So for those typically what I do is I just go into co-pilot and I log an issue or I will you know this is my to-do that I want to get done kind of thing. So here I I logged an issue of create an iPad version uh research what makes the best like do the research yourself first and then I assign that issue to co-pilot. So, I create a bunch of issues that remind me of the things I want to do. And if I like if I can send an issue off to co-pilot before I go to bed at night or while I'm in a meeting or while I'm doing a live stream, why not? Because now it can it can do the work for me, if you like, while I'm not thinking about it.

How well do you find that works? How well when you wake up in the morning, is it pretty how much do you or how accurate do you have to be in your issue for it to do a very good job for what you're expecting? Because this is all prompting, right?

Yeah. Yeah. It depends on the issue. It depends on what you want it to do. Like here, for example, I told it to create me an iPad version and I told it to go do the research as well. Like go figure out what makes the best iPad interface and things. Um, so it's done a pretty good job. What I typically find though, and this is the difference between a demo and reality. In the demos we do, tada, it's amazing. It's finished. Isn't this great? Whereas actually in reality, this probably gets you about 80 90% of the way there. And then I'll do something like I'll I'll come in and I'll actually say uh like I'll come into the command line and I'll say uh uh pull down uh PR13 um PR13 and uh yeah pull down PR13 and we'll and we'll work on it together. Uh

this is kind of hooked on to the GitHub MCP, right? So by default you get that included in the CLI. So, this is going to go off and hopefully call that or are you calling that with?

Yeah, it'll actually call probably the GH command line. So, it'll go out to um Here we go. It's actually going to it's here what it's going to do is let's see if this works. It's going to come in and like figure out what it needs to do. So, we'll uh we'll see. Um and there you go. It's actually jumped onto that because I can never remember the git syntax for for jumping onto the PR and all those sort of things. So, um, it's good. And it say by the way uh you've currently note you already had a local modification to that swift template because I was in the middle of changing to-do list to to-do list which I forgot about. So that's exciting. So uh I probably shouldn't have done that but anyway and then um but this is what happens quite commonly is that I will get a change then I'll now test those changes locally. So I'll do a local build and deploy it to a iPad in this instance. see what I think, see how close it is, and then um uh iterate on it and see if I need to do anything else to that PR before I merge it. If that makes sense.

Yep. I think we just lost your screen. Ah, you're back.

I know. Yeah. Sorry, I just shared it again. Thanks to thanks to everyone. So, does that make sense? How do the like how my dev process works?

That's a really interesting process and you're really leveraging GitHub Copilot I guess to one of its fullest extents here because you're using it in so many different ways to not only create the application but use the application. Uh I find this really intriguing actually. Here's one I did. You see like one of the one of the ones I did here was for example um there is a a prompt in awesome awesome co-pilot if folks don't know it is an awesome collection of awesome prompts and different things and I um I created an issue of uh if I find it here somewhere uh no I must have created I must have created it as a pull request or something. Uh, oh no, I did it there. There you go. But I basically asked Copilot to come in and pretend it was an app store reviewer and add that prompt into my process. So it would look at my iOS application as if it was an Apple App Store reviewer. And because somebody somebody amazing has come in here and created an App Store reviewer prompt. Um, let's see who did this. It was Tim. Okay. Tim Yuri actually is a colleague of ours. Um, I wonder who else is in this. Yeah, it was Tim that created it. That's amazing. So, um, they created an app store reviewer prompt. I then use that to then like test. So, as part of my build processes, I'm having C-Pilot pretend it's an app store reviewer and review my application for me every time. So,

love that.

And you can do a bunch of different things. This is where you can see the difference between me doing stuff in the copilot CLI and these are ones where I've used where I've actually had copilot go do it for me in the background overnight like enable title editing enable a quick button to assign copilot quick button on the edit issue screen. So that that particular bit of functionality was demo to agent league adding that button there so I could assign it easily to co-pilot as a thing to go do. So yeah that's how I work.

Amazing. Amazing. So, okay, I'm going to put you on the spot here. If you were to add another feature, what feature would you think of adding? Would it be anything to do with the SDK? Like, how how MCP? What kind of features?

Yeah, to be honest, right now um this p Yeah, we could do all of that and that's probably a better demo. What I would want is um I found this was so useful for me that iPad support is the next thing I'm currently working on because um having that extra real estate and being able to have it on every device I use is is kind of my next next thing that I want to go fix.

Very cool. Very cool. Well, I look forward to seeing more posts on this one. Um, I'm really keen to see how you're doing this. Are you documenting your process at all for this outside of your repo? Outside of the issues and pull requests?

Yeah, I'm doing like post to social as I go. Um, there's actually a great comment here. Um, the UI, how long has it gone from, you know, design to code using agents and MTP? One of the tricks I use a lot is I will draw sketches in pen um like on a piece of paper, take a photo of them and then either use it within an issue or you can I don't know if you know about this but I can like if I do a quick screenshot here I am doing this. I can take a switch screenshot. I could annotate that screenshot. you can actually go into the command line and if you do um it's like altv on Windows and it's controlv on on the Mac you can paste the image into the co-pilot CLI or into VS code or into the agent and so to that question I quite often will sketch something and then say move this here build it like this and all a lot of the models we have in copilot are so good at vision that they're able to just take that instruction from a from a sketch diagram and actually go build it, which is pretty amazing. So

yeah, that that's funny. I I do the same thing or I used I used to do the same thing, but when the models were sort of, you know, when we were getting off the ground when the models were not amazing at creating front ends and UI and just being quite kind of static. Uh I actually used to do the same thing where I used to scour the internet and then take a screenshot and just drop it into the copilot box in VS Code and say, "Hey, I want it to look something like this." So it's it's really cool to see other people doing that as well. Um,

I've even taken pictures of of sticky notes on a whiteboard and told co the co-pilot MCP to go create issues for every single one of these sticky notes and it does a good enough job of like the OCR. As you can see from here, it's OCR it all and tells me exactly what's in the image. They can even do it with handwriting or what you can have it do is do an intermediate step where it dumps that stuff into a markdown file. you can edit the markdown file and then it takes the markdown file and and uploads them as issues using the MCP. So yeah, it's all good.

That's so that's so good. Here we are. That's that's what I mean. So Copilot is used in so many different ways by so many different people. Um this is awesome. Thank you ever so much for for coming on today, Martin. Um I think what we're going to do now is going to bring up Rainald and gonna have a little chat with Rainald and see what you've been up to and how you develop. Um so hey, say hey Reayold. How you doing?

I'm doing good. How are you doing?

Yeah, I'm super. It's always it's always good fun to see what people are building. Um I I like prying. I'm quite nosy like that. So, um, what what are you going to build today? What are you going to hack with and what are you going to show us?

All right. So, what I'm going to do is try to like uh recreate an act I've done in the past, which was I'm a I'm a big fan of like uh going through books, reading books, particularly audio books. But sometimes um when I'm done with the books, I'll like make notes of what I want to do from what I've learned from the book, particularly like uh self-help books, like inspirational books. Um, but at times I don't often take the time to like go back in a book to like make notes. I was thinking it'd be pretty cool to have an app that could extract actionable items from a book that I give it and then uh then I could actually have like a quick resource that I could like add to my calendar and like do it, you know. And I had called it a book to action. So, I was thinking about like recreating that. It's the first thing. Yeah.

Very, very cool. I mean, when I read books, I kind of like make highlights and I highlight actual points, but then you're quite right. I never really go back and then look at it. I mean, behind, you can't really see on camera, but behind I've got a bookshelf and it's full of these books. I just got highlights, highlight, highlights through, but I just don't really go back. So, this is a really awesome project.

Yeah. How you going to get started?

So, I have my uh uh screen here. I already just uh set up like this a folder that I'm going to go ahead and create the project in. And so what I'm going to do is just give it a a prop. Um, and I could actually probably just like use the mic. Hopefully the mics don't conflict with like the stream, but let me go ahead and say create a modern web app that I can search for books to get summaries and seven actionable items from learning lessons from the book.

You're another one that uses the microphone. I I actually don't see this.

I love using the microphone. By the way, the microphone is an extension that you can plug in that you can uh install. Um, hopefully this doesn't interrupt it. It's called uh VS Code speech.

Very cool.

Um so yeah, that's just like a big lifesaver especially for your free flowing and just thinking off the cuff. And what's pretty cool is that um it gives you uh even if you like make verbal errors or like mispronounce something, it's like I understand what you're saying. You might be a little nervous right now, but we're going to get through this together.

Love that. Love it. We we actually got a great question in the chat, Rald. Um what tools we going to use for this demo? So obviously we're using VS Code. Um we're not using insiders. I can see we're using using stable version. um using co-pilot the co-pilot subscription which is the the one that we have at um well what one is it what one are you using

I believe I have just like the honestly I don't remember they set me up like a while back but I started off with the basic versions just to get started and really that's like all you uh need for for the purposes of what I'm going to do but I might have the enterprise where I don't get cap off after a certain amount of uh usage. Um so so yeah,

very cool. Very cool. Okay, mention

I was going to mention the model that I was using right now is Clus Opus uh 4.6. That's been uh pretty good uh for me. And I feel like the first time I went through a few iterations of like creating this app and the first time that I uh did it, I went through a few hiccups that I feel like I did not have to go through this time around with this model. Um so I'm gradually seeing like the progression like how good some of these models are becoming.

Were you gonna ask something else?

Yeah, I was going to say the language you're using. So you you popped in here what it's npm says node. So we're using JavaScript. Yeah. And I think there's probably gonna be like some uh TypeScript. I didn't specify the stack to use. I'd like to let it uh choose it on its own. Um

yeah, I noticed that's pretty that's pretty awesome. I like the reasoning that it does with these kind of things. Um especially with the tools that it has it, you know, going out and doing web fetches and things like that that it goes off and and calls um reading documentation. I mean, have you got any MCP servers active with this or like uh any tools?

So, um, depending on like how much time, uh, we end up having, um, what the app is most likely going to do is just, uh, create everything like locally with like some sample books. Uh, that's what it did the last couple of times. I didn't include any MCP, but I did add like a feature where it uses Open AI on the back end so that it could get more books for any books that I put in in the title. So hopefully we could get to to that point. Um something else I like to mention is after I had created the app, one experiment that I did was hey this is uh cool um that we have like this uh great web app right now but now let's go ahead and create a mobile version and I was unsure whether or not if it was like uh I don't know what like the current best practices is if it's to create a mobile app within that project itself within like a folder or separate and so I just asked uh copilot, what's your opinion? What would be like the best practice? And it had said it's it says both are like fine. There's pros and cons to each, but it suggested um the easier route would be to ask it to do a mobile app like right within here within a folder so that it could easily reference all the features of the currently working web app.

Yeah, very good. Very good. I think uh one one thing that I like to do when I start with projects like this is and and this is absolutely not not a biased opinion either. Um but I install the Microsoft MCP learn server and then I actually like to query GitHub copilot and say hey like can you pull the the best practices for Python or pull the best practices for J because it got tons of documentation. um and it goes ahead and pulls it and then it's kind of already for you and then I'm able to just deploy it quite easily because it's in the form that Azure would expect it to have when you go to deploy these things. Um so that's like a that's a tool that I use when when I start these these sort of projects. Um it's really interesting and this is what I mean. This is the purpose of this stream, right? Is to see how different people and their thought processes work when it comes to starting these projects because prompt driven development at the moment is well it's very much here right it's here to stay. Uh so working with these AI tools is really important.

Yeah. So okay, it looks like it went through its first round and this has happened before also. Um right now, tada.

Love it. That was a great home.

you know. But what's great is how I can go back and forth like a dance to troubleshoot it. So I just took a screenshot of that and this is what Martin uh was saying earlier and I dropped it into the chat. And so I'm gonna ask it say, "Oh no, I got this error. Please help." You actually I'm just being dramatic. You don't need to really see all that. But let's see what it does. I actually rebooted my computer just because sometimes like ports are left open and you know it it gives you like a similar errors but it's pretty good at like uh troubleshooting and giving you details. So the server isn't running. Let me start it for you. The server is now running. So let's go ahead and try it.

So, I noticed it actually did a curl command for you within the chat window when when it was sort of running through that iteration. I noticed it it did the curl command. So, you've given it access to your terminal, right?

I did. I did. And I actually um

I've heard of curl, never really toyed with it like manually myself, but it's one of those things I have like on my to-do list to actually say, "Hey, you know, show me how to like to use uh the curl command." So, look, now it's up. And you know what? Let's go ahead and I'll show you like another feature. Sometime sometimes I like to just use like the browser and we'll probably continue like using the browser, but for some smaller projects, it's pretty cool to be able to go to the command pallet um and actually use the built-in integrated browser where all I did is just typed in uh shift command P and started typing in browser and and selected it and you could kind of just see it right here. You see?

Love it.

So now again,

uh, integrated browser.

Open the command pallet.

Yep. That's like the brains of VS Code.

Yeah, here it is. Open integrated uh browser.

Very cool.

But now the key thing is, let's see. So it has a couple of them right here that I could try. Let's do Atomic Habits. Okay, look at that. This looks like it brought up a search. I think this is uh new here. I love this. Do you know what this reminds me of? This reminds me of like a university project and I remember being sat in my dorm room just trying to make these kind of like crud applications with basic backends and databases and and understanding data relations. And we've just managed to do this. Well, you've managed to just do this in like 10 minutes, under 10 minutes, which is phenomenal.

Yeah. So, what I'm going to do right now, so this is cool. So, it gives me like a summary of the book. It showed uh the photo of the book. I think uh the first time I did it, I don't remember if it gave the photo. I probably had to ask it as a feature. Hey, can you show the book photo also? That's it would be nice. Maybe remembered it. Um so now uh what I'm going to do on the back end is ask it to uh is to add my API key which I will take this off screen. So open AI API key.

I do have that. I actually wanted to use a open router though. But since we're already here, let me go ahead and search for my Open AI key. So, does it remember from previous sessions that you wanted to use OpenAI?

Do I remember what's it what's that question again?

Like how how did it come from how did it get to Open AI? Does it just assume you want to use that for this project or is this something that you've had previously? because I can see questions in the chat around uh context and like storage um and understanding what you've previously iterated over and what you sort of already created before. So I suspect that it just realizes based on what I'm asking it to do, it's going to need access to uh the the internet. So, it's like, okay, do you have an open AI key if you want me to search for books? You know, I'm not going to

Yeah.

put in 10,000 templates. Can you can you do me that favor and give me that key?

So, I suspect that that's why um because I feel like even the first time I did it, um it it g it asked me for that. So, right now I'm adding the key. I took it off screen just you know so not that I don't trust anyone but you know uh while you do that I'm just gonna answer one of the questions in the chat where Andrew Burns is uh questioning like what Agents league we're really trying to achieve with Agents League and essentially what we're trying to do is help you build with this technology. So, this creative apps track is your opportunity to go off and build a really creative project of your own doing, whether it is a website for books, whether it is a sprite game, whether it's just something really creative. Um, and actually there are some sample project ideas on the repository. Um, and I think the link has been dropped in the chat. If it's not, we'll drop it in there in just a moment again for you to have a look at. Um, you're not creating an agent per se, but you could create an agent. There's nothing stopping you from doing this. Um, so it's just a really good opportunity for you to just have a good bit of time

and hands-on with GitHub Copilot and and sort of show us what you build. We want to see what you're building.

Okay, my open AI key. So, let's see if it updates it accordingly. Um, so now

that's a question.

Yeah, a question based on this. You you've put in the your key into your M file. So does Copilot now have access to your M file as context when it goes through your repository and you know is it ephemeral at that point? Do you know?

Well, when I um upload it to when I uh if I upload it to GitHub, theoretically, my EMV key should not be in there.

It should leave that out.

Absolutely.

Yeah.

Absolutely out of GitHub. But when it's locally, so it kind of it has access right in context of your local repository in its current state. But what what I'm asking is does that worry you? Is that sort of is that something we should be concerned of when

um I mean

tricky question tricky question.

Well I mean how else could you get around that? You know what I mean? I think like I think well I mean I guess the other way to try to get around it is just to make sure that you're you know doing things completely locally without like internet access.

Yeah.

Um but uh but yeah so I I think I always think it's something that I'm I wouldn't say concerned about but it's something which I always think of when I'm also developing. So this is again it just sort of highlights how different people are going to be creating applications in such a different way. um to me is obviously a security, right? And this is actually a question I get asked more often than not now because it's just all about grabbing context of your current repository. Um I think I saw like a post on LinkedIn not too long ago where somebody sort of wrote in one of their custom instruction files. Just ignore the M file. Like at least you're asking the the agents or you're asking the LLM to just ignore your M file and don't take that into consideration when sort of reading through the repository.

Yeah, because I've gotten that uh question also, but I think it was just more when I've gotten the question, it was just in general like whether or not they could uh trust using um uh AI just in general, you know, because some of their some of the their companies just don't want to touch AI until like it's been out there for like many years, you know.

Absolutely. So, right now it's saying that it's uh getting it.

Yeah.

I'm gonna go ahead and just show it this error and see if it could uh troubleshoot it. And if not, what I would what I'll do is try to pivot to use like an open router key because I'm not sure if it's like my uh key that's giving an issue right now. Can you Can you see what's wrong here?

So, one of the things that I want to mention is like when I'm like building an app, like I like to try to think of um features that I want to add, but I don't like to mention all of them right off the bat to give it too much. I like to just build it in small pieces. Um, and so once we get this uh back up and running, I'm going to go ahead and try to add like a feature here and there.

Please check your firewall and network connection and try again. I mean, let's let's see if I could access YouTube. I mean, well, no, actually, my connection is working more on the stream.

You definitely have network.

Yeah.

I guess I'm gonna answer some questions actually. Well, I'm going to give you a moment to try and figure that out whether you want to use a different model or whether you just have to restart VS Code or whatever's going on there. Um, yeah. So, I think I created maybe a bit of confusion in the chat. Uh, no, don't commit dime files to GitHub. It doesn't just don't put any credentials. I actually avoid putting credentials and any security information inside my repositories full stop. Um, I do that as best practice. I actually use managed identities when using these services, especially in Azure. That's mostly what I do. Um, we have some good questions here. So uh can you tell me when you use which model and how you are choosing the model and how you were confirming that this model is better than before selected model.

Okay so uh there are actually tools out there which do model evaluations so eval um and I can see Lee start actually in the chat maybe you can attest to this as well. Um but when I come to choosing uh my models it is purely based on what I'm trying to achieve. So again, I think Martin touched on this as well earlier where if he's got a very small sort of maybe a a basic website front end um he'll use a smaller less expensive more or faster model um which doesn't need to do a lot of reasoning. But if you're using a very or if I'm doing a very complicated coding problem like if I'm working in Swift for example, I actually find that quite complicated as a developer anyway. I'm a Go developer so I write a lot of Go code. it's not too dissimilar, but if I'm doing something quite complicated and quite heavy task and quite a heavy workload, I'll use a different model maybe like Opus um 4.6 or Sonnet and just that's how I reason it. Now in VS Code, there is actually the option of auto select. Um so when you go to select your model, you have like auto at the top. I believe it's still there actually. Um, and that will actually help determine what model is going to be used based on your parameters, the prompt, and take a whole bunch of things into consideration at that point.

And it looks like Reynold, you have got it working.

Well, so I did a quick test just to make sure a sanity test just to make sure that separately from the app that it could access OpenAI through my key and it did a quick test and it says, okay, yeah, it seems the key seems to be working. So now I'm like, all right, let's try to do this now with the the app.

business

hopefully. Yes. Fingers crossed, toes crossed.

Absolutely. I see another chat question that just came through. Does it make sense to do TDD or test-driven development while you develop based on prompts five code mode or less? How do you do how do you code? Do you code with TDD? So test-driven development, I guess, red, amber, green.

I used to. I used to, but it depends on what I'm making. I mean, I feel like uh TDD works well for uh certain types of apps that renders it and it also depends on like what your project timeline is. Um because there are some teams that are more open to giving you the bandwidth so that you could construct uh time driven test driven development um approach. Uh and then there's others where it's like no we do old school testing like launch the app and then see it's working like a person

does it work or not

you know so yeah when I'm given the bandwidth then I'll go ahead and and use it because it is nice but now with AI um I I I feel that uh we have to like open our minds to different ways of still honoring like TDD but still like leveraging AI in in con in conjunction with it also so we don't take so much time.

Absolutely. I'm was an avid TDD developer. Like that was all I ever used to do. I was very I was sort of I guess when I was learning to write code professionally. It was very much make the test fail, make it pass with just enough code and then refactor it. So it's like the red amber green method. But I guess with AI and well more prompt driven development and Lee has also popped in the chat there um specificationled development. So spec spec development that's kind of how I'm looking at it now and very much outlining what I'm expecting my application to do and have the AI model and work with LLMs to then go off and create that. So yeah, specri development is is certainly another another approach which I've leaned into more often than not now.

Mhm. So do you do that also with your personal projects?

I very much try to I try I try to learn like AI is evolving so so fast, right? If you look back a year, we didn't have skills in agents, right? So you weren't able to to just say go off and read this skill and go and do what the skill says. Um so before it wasn't it wasn't quite like that. So as it evolves, I'm really trying hard in my personal projects. So, kind of like what you're doing here with book action, uh, to try and test out these new development cycles and see how it's really working for myself. Um, no, I don't think anything's really going to quite compete in my brain to test driven development because at least at that point, you know, your application is only as weak as your weakest test, right?

Yeah.

So, yeah, I think I think there's two ends of the stick and I'm still finding it hard personally to distinguish when to use which one.

So right now looks like it's going a little bit further. I went ahead and chose a book and it went ahead and look at that. It's pulled up the insights using AI in the back end.

Love it.

So first it had like just the summary of the book like right before I feel like this might have been a cache but then it went and extracted all the contents of like through all the contents of the books. And so from this book right here which is uh called deep work one of the most valuable skills in our economy is becoming increasingly rare. Master this skill you'll achieve extraordinary results ability to focus without distraction. Okay. It's a book about like yeah doing a deep work and focus. And so some of the insights from it if you like read the whole book is how to be able to limit social media use. Um, schedule deep work sessions, practice boredom regularly. So, so that's cool. So, something like this. How much time we How are we doing with time? By the way.

we have got a couple of minutes left and then I've just got a few more slides to just jump through just so folks know what they need to do and how they can get involved in the community. So, I'll give you about another twoish minutes just to run through.

Yeah. So, what I was going to say is like now that I have like something like this working, what I could do is think to myself, okay, now I could probably like look at like the features that I was thinking about and try to think of one that I could implement. So, I had one that is for to add to the calendar. So it would make sense that maybe on one day I'll on a Monday I'll just do the step number one which is to make sure I limit social media and then Tuesday would be number two and three for Wednesday etc. you know and think through like that. One quick thing that I could probably uh ask and just demo real quick is so I've showed you like some feature ideas that I had here right to read out loud the summary photos of the book. Well, that's already there. Um, add dark light theme. Dark or light theme. One of the things I could do is just ask a co-pilot, hey, uh, what are some features I can add to this project? That was probably one of my most used prompts at the moment on all of my personal projects when I run out of steam.

Yeah. You know, and that's one right there. I probably should have told it like not to start working. Sometimes it'll just be like all excited like, "Hey, here's some features. Let me start doing it right now." Wait, wait, wait. I just plan mode, right? So, you'd expect it to pull plan mode.

Exactly. That's exactly when you would want to like switch over to plan mode, which by the way, it you could pull up like right over here, you know, to plan mode. But it it was it was it was behaving this time. It says a reading list, which is a cool idea, you know, just have like a cache library of reading list. Um book comparison, daily action challenge. All right. So, that's kind of like in line with what I was going to do anyway. But yeah, so let it help you uh brainstorm also, you know.

So amazing. I love that that that final tip is is powerful. Thank you ever so much, Reord, for coming on and showing us exactly what it is and how you get starting your workflow. It is so abundantly clear that we have so many different development processes when it comes to just creating applications, starting them, getting stuck in, and evidently how we're testing them. Um, so I'm going to go ahead and share my screen if possible and I'm just going to run through for everybody else on the stream exactly what they got to do and what they've got to look forward to over the next couple of weeks. So if we throw my screen up here, I'm just going to go into big mode and this is going to cover my entire setup here. So we had a wonderful stream today with both Martin and Rainald. They saw they showed us some fantastic projects and how to get started their processes. Um, so I hope you really enjoyed that one. What have you got to look forward to? Well, and I got the dates correct on this one. Uh on February the 18th, uh we are going to Yep, that is tomorrow. Um February 18th, we have got battle 2 and that is um with reasoning agents and you've got a whole host of great things to look forward to then. And of course, the following day, we have then got uh enterprise agents with M365 agents toolkit. So you again, you can go and have great fun and play with there and go and see what they're up to. Now, all of these tracks have got some great great demos and great processes to show you how they're getting started using these um using these technologies and services. And I find it amazing to see how other people are really working. Um, if you want to get started now, you can go and check out the repository which is the QR code on the left and it's aka.ms agents league or on the right hand side oh and on the right hand side we've got the discord channel where you can go ahead and join that. So again, it's aka.msagentsleague. And that is how you can get started with Agents League in the community. Go ahead, show us what you've got and come back to us with some amazing submissions. I'm personally going to be reading through them. And I can't wait to see what you create next. And with that, a massive thank you for joining us today. And thank you for the speakers, for everybody that joined us.