Back to all episodes

Build an MCP Server, Hamburger wheels with Veo 3, Couchbase, Vinicious from Perflab, and AI News

May 21, 2025

Today we check out Google's new Veo 3 model in their Flow product, we talk with Shivay from Couchbase, we learn about AI application architecture and look at code with Vinicious from Perflab, we chat with Dero from the Mastra team, and continue building an MCP Server with Mastra.

Guests in this episode

Shivay Lamba

Shivay Lamba

Couchbase
Dero Israel

Dero Israel

Mastra
Vinicius Dallacqua

Vinicius Dallacqua

PerfAgent
Daniel Lew

Daniel Lew

Mastra

Episode Transcript

0:02

hello everyone and welcome to AI Agents Hour i'm Shane this is brought to you by Mastra today we're going to be doing a whole bunch of things we're going to have a few guests come on we're going to continue building the MCP server we started but didn't quite finish yesterday so first of all if this is the

0:21

first time you're watching you're probably watching this on either YouTube or X or LinkedIn this is live so if you are in the chat please just uh leave some comments along the way we'll try to answer questions we will try to uh get some audience engagement throughout today so today we're going to be talking

0:41

about some AI news briefly we're going to have a guest from Couchbase we're going to meet someone from the MRA team we're going to have a guest from Perf Lab that uh we met last week but has continued to build what they kind of showcased in the MRA hackathon last week and then as I mentioned before we're going to build an MCP server we're going to try to get this thing actually working and see if uh see if we can get

1:07

it fix some of the bugs that we were running into yesterday so let's start by going through some AI news from I guess the last few days so at the Microsoft Build conference Azour added XAI's Gro 3 Meta Lama and Mistral models which is great cool always good to see more model support but I thought this one was pretty interesting uh GitHub's going to

1:37

integrate Anthropics coding agent as an optional co-pilot backend i thought that's pretty cool allowing you to kind of uh bring your own model or select select what model you want to use there was some research from Carnegie Melon that found that the top model finished only 24% of this new benchmark on end toend enterprise tasks

2:00

and the GPT40 cleared 8.6% of tasks and I guess that means our jobs are all safe for now uh but seriously I think we all would understand if you've been dealing with these um been dealing with these models and you've been building aic applications you know that brittle is uh is definitely a way of life some of these

2:24

things uh quality is challenging to get out of some of these models and consistency is sometimes challenging but it is improving in a lot of ways and everything that I've seen is if you have more narrowly defined tasks you can get some really good results but if you have more broadly defined tasks your results are going to vary widely and sometimes it'll be great and sometimes it won't be

2:46

and I think that's the the reality we live in and I think we'll be living in for quite a while so it's not going to necessarily take over everything that you know some of the doomers are are believing it will but I do believe that it does enhance a lot of the things we can do and make us much more efficient so there is a question in the chat from

3:07

YouTube is version 0.10.0 working for you i hope so if not please jump into our Discord the team is has just released 0.10.0 we just

3:18

published a blog post on it a bunch of breaking changes so one of the biggest releases we've had in a while so please check the the Monster blog if you are interested in seeing uh more about what went out with that release but if you are running into problems please jump into the master discord and the next kind of piece of news I did want to talk through is

3:44

uh Google's Google DeepMind's flow or V3 is the model I guess has anyone here that's watching this have you heard this have you seen some of the videos that are getting created have you tried it out i uh realized that you have to have a pretty expensive account to try it out but I did uh I I splurged a bit and I've been playing around with it so I'm going to share just really

4:09

briefly kind of the introduction blog post because I think it is useful and then uh maybe just show some of the stuff I've been playing around with before we get our first guest on all right so let me share my screen here okay so this just came out yesterday meet flow AI powered film making with VO VO I think is how you'd pronounce that vo3 so it's supposed to be an AI film

4:48

making tool built with creatives for the next wave of storytelling so this is a minute 45 seconds i think we should watch this video and then I'm just going to tell you my thoughts but curious to know what your thoughts are so feel free to drop a comment along the way let's watch this video if you haven't already it is pretty cool so let's take a

5:11

look assuming the video works and it doesn't seem to be working let's uh Interesting there we go let's try again i I don't know if I'm on the D and for some reason it is not working very well so why don't we just talk about it what does it allow us to do it does allow us to essentially create an image and then they use what's called ingredients so you can save this

6:00

image as an ingredient and then once you do that it allows you to then use that ingredient or that image in different scenes so you can see here there's a couple different images and you then use those ingredients with a prompt and then it creates a I guess a small video out of those ingredients which is pretty cool

6:26

and then from there you can add that little scene or add that little I guess frame or clip to a scene and then you can kind of edit and extend those frames into I guess it's more like a AI powered video editor at that point so it's really pretty powerful um there's a whole bunch of different you know things that you can do with it i've been playing around with it so I'll show you

6:52

some of the stuff that I did i created this little MRA megaphone and I wanted a cowboy to be holding this megaphone i don't really know what I was doing but I was just playing around with it and you can see there's I wanted a cowboy using this megaphone image that I had it generate and then I wanted it to transition didn't really have a very

7:11

smooth transition but I wanted a it to transition to another character holding the same megaphone so just being silly having some fun you can see like I've I've been messing around with it but if I want to add an ingredient I can see I can add this megaphone that I generated i can generate a new image i can then um

7:31

you know build these ingredients together into these scenes and then kind of or into these like small clips put them in the scene extend it delete it you know do some modifications here so it's really pretty powerful i haven't I guess you're not able to see my screen as I was showing that so maybe I should show you the right uh section here hopefully you can see

7:54

this now sorry about that all right so let's review so as you can see I have this kind of scene here that I built i was talking through it and no one here could hear me sorry about that but let's see if I was to play this you can see I have this cowboy that's you know riding holding this megaphone it transition

8:20

into this really poorly crafted uh other scene i would of course delete this but I was just playing around having fun and you can see some of the stuff that I've generated i can then you know take these ingredients and turn this into a video by just adding some of these images that I've generated and build that into a pretty uh complex

8:43

thing yeah yep i was in the wrong tab venicious rookie mistake rookie mistake today but that's okay we're having fun we're learning a little bit about AI thanks for everyone if you are just tuning in we are talking through some of the AI news of the day or of the last couple days we're talking about Google's flow and we're going to bring on our

9:08

first guest so I want to introduce Chaveet from Couchbase so Chaveet I'm going to bring you on and let's talk a little bit about some of the things that you've been doing hey uh hey Shane how are you thanks for bringing me up uh super excited to you know like see what what all things um were happening at Google IO yesterday uh and thanks for sharing that really cool

9:38

demo of view first of all like because uh we don't have access to a lot of those capabilities here in India because I think it is only launched in the US and more importantly I think it's a bit too expensive for me to play around with but it seems very nice at least uh not just from the LLM's capability but also in general if you look at all of the

10:00

different kind of products that they have released and how they have also now really just added the uh AI capabilities to the Android XR classes i'm really excited for those uh especially yeah yeah absolutely yeah again I just started playing around with it a little bit i will spend some more time see if I

10:19

can come up with some cool videos but it is it has been pretty impressive just from the playing around with it the little bit that I have just probably the last half hour before this stream which is one of the reasons I was a little bit late starting today just because I was uh so engrossed in playing around with the the new tools and seeing what I

10:36

could do with it yeah uh but yeah let could you give the audience you know the people that are listening just a quick intro to what you do what your role is and we can kind of go from there yeah absolutely so uh hey everyone I'm Schwai i work at Crowdspace it's a NoSQL database company of course there are a lot of databases out there and uh I primarily work on a lot of our

11:00

generative AI integrations and building demos around all of the different integrations that we have so of course as with most of the databases today uh we also added support for being able to use vector search alongside your typical NoSQL database operations and uh of course that means that now you can

11:19

leverage it within AI agents as well so primarily whether you want to use a database for um either being able to use it for the long long term or short-term memory or of course if you want to add semantic capabilities so very recently uh we were added as one of the vector databases for uh the retrieval augmented generation support with master AI so

11:41

what I went ahead and did was that uh very quickly during the time of the master hackathon I built a like sample demo for uh for that so I wanted to try out using the master workflows which I really feel provide you a really nice way of being able to use multiple uh multiple agents uh but I I know like it's not just like limited to being able to combine uh the responses from

12:07

multiple agents but really also be able to like use it for much more enterprise focused use cases where you might have four five or six agents all trying to work together so I really appreciate that how uh the team has really dived deep into ensuring that master workflows become a really popular way of being able to orchestrate multiple legends uh

12:28

so my next step would be to try to build a much more production uh ready or like try to tackle a use case which takes more advantage of uh master workflows not just like a simple uh one or two agent workflow uh that would be the next step that I'll be doing but I really just wanted to uh chime in here and and just say thanks to you know the overall

12:54

master community uh one of my friends uh he he just joined Mastro as well Man Gupta he uh comes with a lot of agentic background as well uh so it was really good to see that uh that that capabilities offered yeah and I and you did release a post on dev.2 recently as well right exactly yeah so so like for those in the I know this is a long URL but you could probably uh probably

13:18

Google it and find it and um why don't we just it might be cool to just I can share it too why not just take a look at it yeah absolutely so so again it this was just me trying to play around with Mastra for the first time because that was pretty much the first time that I heard that we uh had very freshly released that particular uh integration

13:43

and then the blog was just a natural progression of just me trying out uh master workflows and because I was earlier just trying to build a simple tool call and and like you know like a simple agent and defining the tool and using that but I felt that because workflows I I know like there are two different ways in which you can basically approach the master workflows

14:08

right so one is uh okay like you kind of piggyback where you have the first agent and then you uh add like a second agent which uses the research done or the outcome from the first agent and you start to basically use it there are a lot of other ways in which you could also have uh like let's say an orchestrator agent or like let's say if

14:33

you're building a code review uh code review type of aentic application then you'll need to have like a um an agent that will always be able to understand that whether the other agents work is being done correctly or not so it's like a supervisor agent that can overlook the uh work being done by the rest of the agents so I feel like even

14:57

their workflows can play a really important uh role because that it gives you that kind of a deterministic outcome rather than completely just running fully autonomous aentic workflows you can add a certain level of determinism uh to your to your agents yeah yeah and I think that's that's honestly one of the things that people do struggle with I think is deciding between you know

15:23

creating an agent or creating a workflow and honestly they work well together but you do have to decide what level of determinism you want if you can make it a workflow it's more deterministic typically and you're typically going to get more consistent results but I do think that's a challenge for people because I think the a lot of people have

15:44

the dream they can just give a system prompt to the agent and it's always going to work and always going to do everything exactly the way you tell it to and unfortunately with the current state of the models that doesn't always hold true however if you can break parts of it into workflows or even the whole thing into a workflow with just smaller LLM calls you typically get more results

16:02

for those things so a lot of times what I end up doing is I start with an agent and then when it breaks down I break pieces of it into workflows and I give the workflows to the agent so it's still like doing the routing but it's calling more deterministic tools throughout process so yeah this was pretty much what I did over here and yeah I just saw Venicious

16:23

as well u I'm really looking forward to meeting him at the JS Nation where basically I'm going to be uh doing a workshop and the workshop is a bit interesting because I'll be building an AI agent that runs exclusively on the browser so rather than running something on the server uh because we have the capability of being able to use technologies like web assembly WebGL uh

16:49

all of them and web GPU so you can also have LLMs um and uh LLM completely running on the browser uh I'm not quite sure if Mastra could also be supported to run because I know that under the hood you still need something like uh Versel OpenAI SDK u but I feel like if we are able to probably use some sort of an LLM that can then also run on the

17:15

browser completely that that is like the next step where you can also do and handle tool calling directly on the browser so I'm looking forward to that particular workshop yeah I mean I don't Yeah I don't know if it would exact probably wouldn't work but I do know there are there are people building you

17:31

know Chrome extensions using Maestra and using client tools that interact with the web page which is pretty cool so there's more and more I guess rich browser functionality that is that I have seen some of our customers playing around with but not directly running it in the in the browser itself but you

17:50

know more so in like a Chrome extension that runs that runs alongside the browser yeah and uh I I think like one of the other experiments that I basically wanted to do was so of course sometimes uh the only I guess caveat here is that for example um one of the discussions that I was having with with some folks is that okay like so someone if some what if like someone is not going to be using the versel AI SDK and

18:17

or so if they're not using the vers AI SDK that would mean that if they have an LLM provider that is not currently added to the versk it makes it very difficult for them to use the LLM directly right so because we know that there are so many different types of LLM providers and at the moment the way that versk works is that okay if it is a

18:41

completely open-source uh LLM provider they would directly add it to the EITK but if it is a company one of the requirements that I've seen like sometimes versel might come up with is that for example they might say that we would want to uh we would want the company who is trying to get the LLM provider added to the aist that they would want to have like a business deal where the company uh will have to host

19:06

their website on versell so like let's say if there is a scenario where they are not able to add the LLM provider directly there are actually a couple of hacks or not necessarily hacks but one is a hack and one is route that you can follow so one hack that I was able to basically do was that of course when you're defining your agent you have to define the LLM so there you can use like

19:31

OpenAI GP40 uh but when it comes to using a tool so for example if you don't want to have a text generation LLM but instead you might want to have an image generation LLM and you don't want to use one from ak right so in that case you could still write the logic of using an external LLM provider and either create the text or generate the image with the

19:57

help of the tool that you have defined and then when you go into the research agent and you define a prompt for the researcher agent you could just tell it that instead of crafting together a response yourself uh just take the raw response that you got from the tool call and don't modify that and just display that to the user so when you spin up a new master server and you use that

20:22

particular agent it would just comply with that instruction and that would still give you the capability of being able to use an external LLM rather than having to rely on just the ones that are supported from the versel SDK so that is like one uh interesting tidbit that I wanted to share like as an experiment that I basically found out that that actually works well so I have a demo for

20:48

that in case uh anyone is interested so here uh what I what I was doing was I was using something called as Nebius AI so they are also like a LLM provider very similar to vers SDK like um I think vers SDK supports fireworks all these different different type of LLM providers but um there's another one

21:08

called as uh Nepaci so they um and if you want I can also share the link here for the specific prompt that I used so it is a bit funny because you know like it's it's like kind trying to uh essentially just tell the LLM that don't put anything on your own so if you go to the source code here uh you'll go to the

21:33

tools first i I guess like we can go to the tool first so here you'll see that I have used uh the Nebs AI the NBS API key and uh I'm just telling it that hey uh go ahead and create a well-crafted blog post around that particular uh specified topic right so in this case I'm using like the quen 3 model so what if now quen 3 was not supported on the uh on the default vers

22:03

SDK so I I create the entire blog using that but then if you go to the writer agent I tell specifically um the agent that don't change my code so here it says that take the blog content written by the blog writing tool and don't modify the content and just keep it as it is so that's like one interesting uh thing that I figured out that if someone

22:29

wanted to use their own model but which is not supported from versk uh that's one approach uh now of course is it a good approach no uh but there is Yeah I was going to say you're paying twice for the paying just as a pass through but but the reason but it is possible I guess we we've shown it is possible i don't know if I would recommend it uh the other way would be that uh so my good friend Arindum who I

22:56

think like has also spoken with you on on Twitter uh he's uh also a great developer uh so he actually was able to figure out that so the idea is that um when you use the AI SDK there is a particular component called as the open AAI compatible so there is this that's what I was going to bring up I was going to say there is there is another uh

23:16

alternative where you can use as long as it's an open AI compatible model of course but a lot of a lot of the a lot of the models are you know trying to be open AI compatible yeah so one such example would be uh I'm not sure if uh this would be poss possible to share here directly but what I would do is I would update uh I would quickly just

23:37

update the GitHub repository as we are speaking uh because that gives uh direct capability to just add your your own provider so now of course let's say if uh you know uh open SDK does not support that particular LLM provider um I've just updated this particular GitHub read me uh you can probably take a look here

24:02

uh yeah I was just going to say we I'm just going to pull up the AISDK docs as well so you Oh yeah yeah so I don't know if this is what you were doing but but yes if you wanted to use a provider that is OpenAI compatible that you know it doesn't provide native support for you can use something like this exactly um and just for the

24:25

question like just to basically show like this in action if you go to my GitHub readme I've just updated uh the read me with a code snippet from Arandam again so huge shout out to him for uh for you know being able to actually make that working so if you bring up that same GitHub repository um there is that particular code um which is capable so

24:46

yeah pretty much like replacing uh the provider and then when it actually comes to using uh the LLM there in case of like instead of using the open AI um GPD40 you could just use your own LLM provider and now couple this with masteri workflow that you have created uh so that would be the natural variation that you go ahead and try to create

25:12

yeah very cool awesome well Chaveet it was great having you join us uh I guess any anything you want to say about Couchbase or anything else i guess you're going to be at that was it the JS Nation conference yeah so I'll be there and uh I'm really looking forward to like being able to build uh more with uh

25:33

with master i think like the next step would be that yes of trying to figure out more advanced use cases for workflows so that was just my first step trying to build a simple use case of using a researcher agent and a writer agent and seeing like how Mastra kind of handles workflows because if I were to

25:52

compare like the approach being used by Mastra versus crew I feel like Mastra offers a lot more serious capabilities of really putting together well structured uh workflows because of the underlying you know the I guess like you're using uh directed as cyclic graph uh DAGs for the management the state

26:13

management if I'm not mistaken or some yeah uh yeah so we kind of built our own workflow engine we originally we originally just were built on top of XATE and then now we kind of built our own engine and then you can now use that engine with different providers like ingest and um a few others that will be

26:32

coming in the near future so you can kind of you know cloudflare workers will be ideally something we support temporal these are all like so it can be kind of use our APIs but then deploy in any workflow engine that uh that you want to deploy your workflows on makes sense okay but yeah so next step for me would be to just uh continue hacking around with the AI uh workflows with MRO and

26:58

try to create more advanced use cases so hopefully like if I can build something good I can reach out to you again and we can show it off yeah yeah sh yeah share with what share what share what you're building we like to see it and yeah definitely talk to us chat with and join the Discord if you haven't of course and here's how you can follow Chaveet if you

27:18

are tuning in so follow Chaveet on X thanks for joining us Chaveet thank you thank you so much all right and back from Japan what's up what up dude it's been it's been a while i for you know I haven't talked to you for a bit i think people think we you know you we don't we don't talk anymore or something they thought we broke up or

27:46

something yeah i mean I think there was some there was some probably mentions that we don't get along or something that you know but here we are we're back not true dude i've been up for so long like I left 900 PM on the 19th and it's the 21st now um so it's been a wild day if anyone followed me on Twitter you know that I did this journey today to where I'm at right now which is

28:14

like in Belgium somewhere so uh what up everyone yeah I mean holding down the fort you know thanks for abandoning me for a while holding down the fort trying my best and where were you earlier i was I was talking through uh show showing off new uh the flow from Google using the Veo3 model is a bunch of uh really cool video generation model but I was sharing the wrong tab and if you were here you

28:40

would have been like "What are you doing dumbass you're sharing the wrong tab." Oh sorry dude i need I need my I need a co-host to tell me when I'm doing dumb things but the chat the chat got me they saved me so eventually we got it fixed so we got it fixed we are you know feels good that you're back though i feel like we're gonna you know really get some uh we got some cool

29:02

guests coming today obviously we hopefully you'll be a little more consistent now that you're slightly better time zones and we can uh we can get back at it well we do have another guest let's do it i guess uh I don't know maybe before we do maybe if you are just joining us Ob's back that's the big news of the day but on top of that we talked about some AI news we tal we did showcase

29:28

eventually Google Flow the new Veo 3 model that allows you to build really cool videos it's kind of the new newest uh latest drop in video models I guess and so if we do have some time maybe we can play around with that and see if we can build some wild things and we did just talked with Chaveet from Couchbase and talked a little bit about

29:52

some of the stuff he's been playing around with with MRA some of the workflows and agents that he was testing out we are going to meet Darl from the Master team whenever he is ready then which is the first time he's he's joined the stream so that'll be fun we have Venicious from Perf Lab coming on and

30:11

then we're going to continue building the MCP server that Daniel and I started yesterday ran into a few problems didn't ran out of time basically so we're going to finish that today and that's nice that is the That's the agenda that's a full agenda nice i'm glad I'm here so while we wait for Darl I want to show you this this flow thing okay let's do it yeah let's All right so let's play around with flow

30:36

a little bit just because dude I had to spend like 150 bucks and that's only for the first month and it's 250 bucks if I want to keep this thing yeah so it is it is uh doubt I'm going to keep it but I figured you know for the stream for all of you watching I had to spend this money to uh So you don't have to yeah so you don't have to you can see it and if you do have things that you want to see it

31:01

do please uh drop notes in the in the chat whether you're watching on X LinkedIn YouTube tell us what you want us to build and let's try to build a really quick video in the next three minutes until Daryl is ready all 182 of you let's figure this out yes okay so I just been doing some weird this cowboy holding a MRA megaphone i love that you know so but it's pretty

31:29

cool so the first thing is you can create this thing called ingredients so let's so let's create what do we want what do we want to build like if we basically we can put we can place this in this image then in a video so what what would be a good prop for a video i mean if it's Daryl's he if it's Daryl coming on he likes hamburgers but I don't know if we should put that in a

31:55

video let's Why not uh what kind of style what style do we want uh put an In-N-Out Burger or something in there oh is that the style i don't know but putting like 1950s burger or something also by the way everyone if you don't know Daryl he loves burgers so that's why we're doing that oops no I didn't apparently messed up let's try again got to click the wrong button all right generate that okay so

32:31

this will generate me four options and then we could choose to place basically create this as an ingredient so if we like the option and we I I don't know if I would I don't like ingredient as a name but then create an ingredient which gets then can be used to generate a video and that video can be added to a scene all right something like that sure

32:54

that one okay let's go with that one how about that so now I got to figure out use this image so ingredients to video i don't know oh that was a style i don't know so I don't know what clearly I have no idea what the heck I'm doing there we go so now I can gener take this image is there anything else that we want to add

33:27

hm can we take Okay this is gonna be weird but can we take Darrow's Slack image and also put it in here let me try it why not yeah why not let me see here i think I have to Give me a second i gotta download this thing all right so let me try this oh that didn't seem to work oh they don't allow dropping oh you can't you

34:18

can't upload for some reason so maybe I It says soon you can upload soon i can't do it yet ah so you can only generate images you can generate You can generate images you can't upload your own yet it looks like oh that's kind of lame okay yeah agreed agreed well let's just say like a 19 1950s car muscle car and then we'll we'll see we'll we'll show someone in the car eating a burger

34:48

or something i don't know something something to try while we test out this you know flow from Google here all right so this is working all right that's nice that's nice which one do we want i like that that one right there yeah classic okay gonna use this image why there it is all right so should we say like a man in the car

35:28

eating this burger something like that yeah justin has a good uh one that we'll do after which is give the car burger tires oh yeah all right we'll do that one a after also Justin I'll just say man we are spending $150 on your behalf for that request just saying all right so this is going to take a little while so while this is running why don't we bring in Darl and say say hello and then we'll

36:03

we'll cut the we'll cut the video generation stuff and chat with Daryl or maybe I'll just do it while we're talking and we'll kind of see what see if the burger tires thing actually works all right Darl we're having fun welcome to the stream Daryl hi everyone the the legend himself hi Abby welcome back from from Japan thanks man and I do like burgers i had I

36:30

had one yesterday yeah I know there you go hey so actually so did I so there you know burgers are good all right for everyone that's just joining us welcome to AI Agents Hour we did some news in the one of the biggest news items was Google Flow so we're testing this out you'll see us kind of playing around

36:49

with it but more importantly right now we are meeting Darl so Daryl tell us a little bit tell us a little bit about yourself uh everyone um my name is Daryl um my full name is Dero Israel but my friends call me Dero um yeah I work at master as a product engineer and um I'm mostly on the open source operations team so I'm

37:17

I'm kind of the robin to towards Batman and sometimes I'm the robin to Aby's Batman so yeah just I just do a lot of open source operations at Mastra um I work on Mastra core master server client SDK sometimes and time to time we make I try to make improvements to the to the dev playground so yeah pretty much he's

37:42

underelling himself darl does everything and anything yeah he he named like five things but there's probably 10 more that he didn't a thousand things that he does so but but yes you you do work very closely with Ward who you know Ward the farmer we've seen him on here from time to time you work closely with Obby what's something you've been working on recently

38:07

um recently I think the biggest thing I worked on recently was introducing the the new runtime context into the playground i think um and I know we have that in the latest release now um and that also helps um users to be able to like load um dynamic variables at runtime they can you can like pass in

38:29

dynamic variables via the playground and you can you can dynamically load agent models dynamically load agents tools etc so it opens like a lot of of doors pretty much yeah and I think well today you want to like hear what I've been I did today i've been busy today um so I guess let me let me see what I did today

38:55

so I know I While you while you pull that up let's just take a look at this video quick see if uh see how this video turned out okay we'll see if it should get the burger in here but I'm not seeing it he's not eating the burger it It did not listen i don't think this one has it either but there is a person in here it

39:21

listened to some of it all right no burger no burger guess we have to do the burger tires instead yeah we're going to try burger tiger that is about to get his wish dude yep car driving with hamburger tires i mean if I were really trying to build something with this I would probably spend a little bit more time uh crafting

39:47

a slightly better prompt but do they charge per execution or is this just like a monthly thing oh the other thing I realized I need to make sure yes so here's the thing i wasn't even using the right video this is So this is one of my pet peeves i just re remembered this you have every time you generate you have to tell it you want to use this VO3 VO3 so maybe it would have done better if I used the

40:11

right the newest model but next time I'll have to click the same button again probably because they don't want me to use it because it's um expensive for them i don't know i think it charging it charges me the same amount of credits basically in this plan I have so many credits that I can use i don't know exactly how many I have left

40:29

that's not clear but it is Yeah we'll see if it does better this time nice back to our interview I guess yes Darl i have a bunch of questions for you brother because I mean all there's 219 people watching right a lot of them might be junior devs out there and you were a junior dev almost a year ago i wouldn't say you're a junior anymore how did you come to MSRA

40:55

like and what do you think was like the thing that made you I guess successful because you're still here okay um well also where do you live tell the audience where you're from like Okay um yeah I live in Nigeria i live in Ibadon it's a city in Nigeria it's like it's closer to a village more than a city so I kind of live in like a urbanized village quote unquote so it's

41:26

pretty interesting place it's very calm place um yeah Badon is interesting if you come to Badon um sometime I'll be um I'll be there eventually yeah but for my um software engineering career um I've not only been doing this for very long like I I think I have about four five years experience now um when I joined M I joined Master Tri about a year ago I was like way junior

41:52

like I was way junior um on the level and well I think the reason why I've been like grow the last the past year just been like been pretty much because of the people I've been around like Abby and I've been around I've been around a lot of engineers and master and I just learn a lot from them like day in day out um and I I I think I'm a workhorse so I'm

42:18

always like learning i'm always looking at stuff that I don't know like if I feel like I don't know something I'm looking I'm going to look at it like I fall asleep so I guess that's one reason so I'm always trying to get better i'm always trying to to learn pretty much yeah and I've learned quite a bit of

42:37

things so far good yeah absolutely dude yeah workhorse is uh Yeah I would agree you you do you do a ton at MRAA so definitely appreciate everything that you do this thing still didn't look like it worked uh oh no burger tires no burger tires i must I must be prompting it wrong i don't know it got I mean it's pulling in the car it is not pulling in the burger though

43:09

interesting h let's just see if it just using the burger car driving with hamburger tires just out of curiosity all right back to the real the real important stuff refund yeah um so far I have to say Google Flow I'm I'm not that impressed yet you know maybe my prompting is not very good i'm I'm giving very short

43:42

prompts if I was more specific maybe I get some better results i haven't had a lot of time to really dig into it yet so it's very possible that it's it's me you know but yeah but we're prompting like normal people would right if we're if we're going to say that we're us i I do I do think they're selling it as like a film making power tool though so I I do

44:02

think it's one of those things that if you spend the time with it and you learn its tips and tricks because I think if you look at some of the videos on the Google Flow I don't know if that's actually what it's called it's just called flow by Google by Deep Mind i I don't know but if you look at how they're positioning it there are some really cool videos but it's more

44:24

for almost like filmmakers to either like add scenes to you know films or movies or like create unique creations from it so I think it's meant to be more of a power tool not a you know I don't think the average person besides playing around with it like I am is going to use it long term so we'll see back to the interview back to the interview we bounce around a lot here clearly everyone who's watching you know

44:51

we're just having fun you know Darl when I was in Japan I got a lot this question a lot from uh I guess junior dev types right they were asking me "What does it take for a junior dev to be successful in a team?" Especially like for example I was meeting this guy he was like "I'm very junior um and I don't know how to be successful on this new company I just

45:15

joined and I just I didn't have any good advice i haven't been a junior for a long time you know or and neither are you you're not a junior anymore so you just kind of like graduated right like what are some like keys to success there um so one thing that I think made me that was very important for me that

45:36

was very key for me cuz for for a while I was bouncing all over the place is I was trying to learn as much as possible but I think one key thing is like to prioritize like what you need to learn and things that you need to do so like prior I feel like priorities are very important so you really like learn what matters you'll be looking at thing that

45:53

actually matters and you would learn what matters cuz at the end of the day you can't learn everything i I think like everybody has like nich like niches even in in master everybody's working on like a particular thing you're like an expert at like you can you like know every single thing right but you know a

46:10

bit of everything but like there are still things that you need to focus on so I guess like prioritize like what was important like if you have a task break it down um break it down and solve like what is important right now and like the other stuff will take care of itself I guess yeah that's good advice you know

46:30

one thing that you do really well Darl is you say "I don't know." Which I think is a very good skill that every junior developer should do cuz if you truly don't know then you should just be honest about it right like cuz no one will ever fault you for not knowing most people fault you for pretending you know something and failing to do it right i think something you always have done

46:55

great especially with us I guess earning our respect is we you say we hey we always say hey Dar like why is this happening like that you're like I don't know but I'm gonna find out and we're like okay cool yeah let us know what's what is this about the the the I will find out or I will track it down attitude is probably one of the keys to

47:14

success of of juniors that I've worked with yeah and just being willing to ask the questions and and ask you if you you don't have necessarily even have to figure it out yourself it's knowing who to ask and then learning a bit of what getting the context learning a bit what what they have in their head and then the next time you'll know how to answer it yeah because I guess like is the

47:36

solution that the solution is what matters not like what I what how I how I'm going to solve it or how I solve it so it's the solution that matters so if if someone is helping me to solve the problem like it's it's a good thing yeah absolutely what do we get this time on the video not much it's in a It's burgers that are in a car by the looks of it or burgers that

48:05

are cars in car oh so that was car driving with hamburger tires ah you know it's Yeah oh someone else from from Nigeria saying hello daryl hey Darl hey on Twitter huh discord yeah follow my man Darl on Twitter y'all yeah what's What's your Twitter Darl drop it in the the chat and I'll I'll display it on the screen let's get you let's get you at

48:37

least a couple follows for the people that are watching this and they're already on Twitter they can just you know go ahead and follow you this is a really good point from Justin i'll just post it on the screen here talk early talk often struggle is a part of learning sometimes but your team is there for a

48:56

reason dude a lot of people don't even have teams right so that's like a struggle in general so and honestly like in the valley silicon of the silicon one a lot of companies don't hire junior developers you know um because it's like more of a risk or whatever but uh usually you hire people with talent and like talent is what guides you you know um and Darl obviously has a lot of talent and he

49:27

asks really good questions and you know always tries to find out the answers and stuff so I think that's actually a big lesson to y'all trying to break into SV companies or even you're a junior dev you're trying to get into something better like it's like work ethic this man here has crazy work ethic and he never thinks that he has everything figured out and he's always

49:51

learning which is much appreciated you know because it also humbles us like we've been doing this a long time and sometimes when we look at Darrow work we're like "Oh I need to work harder i think I'm just I I must have got lazy or something in my old age or whatever." You know you're not walker um you're the hardest worker in Master for sure

50:16

well I'm about I think we're going to give up on this video experiment it is uh No burgers no burgers unfortunately nothing burger we This is a nothing burger flo I'm a little disappointed so far if someone else has access tell me what we're doing wrong because I I feel like this should work again I probably

50:38

didn't select the right model because I have to do that every time so we will try one more time just for the heck of it but I'm overall not too impressed over what you know some of the other stuff I've seen with Sora and other things i think it's more it's kind of built like a video editor more so than just the just a video generator which is kind of

51:04

neat but yes Justin I demand a refund all right uh yeah anything else that we should chat with Daryl while while we have him i guess Darl leave us with the one last statement whatever you want to say um I guess I'll say like um AI is legit like so like I remember in 2023 I was I was like doing um AI acons um but like it was very back then was it was like not as powerful as it is

51:40

right now and like now you can just like do a you can build a lot of things with AI like a lot of cool things and even like this demo that Shane is trying to do with this video thing it's very I feel like if it works looks like it's not working very well but it works it's going to be very um useful like you can just generate like content on the

52:00

fly i had like this idea of like um me being able to write a story and just generate a video for like an explainer video from that story like so explainer videos on the fly so like it's something I can probably do right now with AI so like it's it's legit is I guess that's my last my last words dude be well said yeah well that that's uh so so earlier

52:26

this week on Monday I demoed the the storybook creator i wonder if I could use that create a bunch of frames put that into this studio and actually have like a you know a mini movie with different scenes you know i think that if you start stitching these tools together in unique ways I do think that AI is going to you know a lot of people are like well it's going to upset you

52:52

know artists and video creators but I actually think it's going to spawn a whole new genre of people that you know are actually going to be able to build things that they couldn't have built before right so it is kind of I think in some ways you know it's a little expensive now of course but the prices will come down but it kind of democratizes it's a lot cheaper to pay

53:12

you know if you think about it $250 a month versus is still a lot cheaper than having an entire video production crew of people and hiring actors and and doing these things so as a creator it does kind of really open the doors to a lot of things if it works which I'm sure if it works right now as you So people still have jobs for a little bit longer though

53:37

yeah I think it I think it'll give if you if you're a creative person I think it'll you know you'll have a job for a long time because you can use the tools and stitch them together in unique ways all right Darl well thanks for joining us today and yeah we'll we'll have you back on for sure dude thanks for being a beast see you see you man stay beastly see you

54:05

all right dude well we're playing around with some videos for those of you that are just What's that that's a cool car at least yeah we're we're doing some cool you know cinematic views of of this car we can make Fast and the Furious with this we can just recreate Fast and Furious yeah let let's try this

54:26

let's Let's do something fun because I think it'd be cool let's prompt ingredients to video let's add this cars and car crashes and explodes very simple let's see if it can do it if I was you know that there'd be a car crash and an explosion in Fast and Furious right totally there'd be like a thousand of them too and everyone would survive

54:53

yep i mean yeah we'll see let's see what it does and we are going to have another guest join us here shortly and while we're letting this generate I will just double check and make sure that they're going to be joining all right the invite has been sent and then we'll also we do have Daniel joining us a little later too he's gonna

55:19

help uh keep building on the MCP i didn't know you're gonna be here you know so it's it's not as much fun doing this stuff by myself so I like to like I apologize for not invite a friend i was actually like pass the out oh swear jar swear jar then I woke up and I was like what time is it i am going to get a soundboard so we can like have you know have jingles every time there

55:42

there's a you know I I've been I've been finding myself filling the void i've been swearing more because you're not here oh to fill my void of swearing yes oh nice let me just do this right now very very out of character for me you know but I felt like there was a void missing from this show when you weren't here so for those of you

56:01

watching unfortunately we are somewhat family friendly but not really so please uh excuse the profanities occasional profanities uh Venicious you haven't gotten the invite yet i believe I sent your calendar invite but uh check your email maybe I'll shoot you an email with with the invite check the calendar invite there should be a link in there but I'll also shoot you an

56:31

email and we'll get you on in the meantime I guess I'll talk a little bit about Japan and um so I was in Japan two days ago but to me it was yesterday because I literally left 900 p.m on What day is it wednesday i left 900 PM on Tuesday tuesday dude I don't even know when I left actually i forget now but it

57:00

was like 14 hour flight and then I woke up or I woke up it was like 5 a.m today was like May 21st I think um and then it took me like six hours or so to figure out how to get from where I was to where I am now and like it's just been a while dude like what what So I obviously have been telling people that you're in Japan but what were you doing in Japan why did you go and

57:31

so um well okay so why did we go to Japan it turns out that most of our traffic or a lot of our traffic our secondary traffic source uh from MRA aside from the US is Japan and it almost seemed like um like unreal like why is it bots or anything no it's very much like real people so we went out there to meet them

58:00

and see the main thing is to realize like or to find out like why is this traffic source real what is their liking of Monsterra like why do they like us and everything in between and then we met a bunch of people um and because they liked us and made more meetings happen and then more meetings and more meetings um and I did a really I think I

58:24

did a good job of like showing every step in the my Twitter timeline so if you want to go take a look at the journey please go and see that but uh we met a bunch of cool people and learned a lot about why Japanese people like MRA and it's it's pretty cool so and then after Japan I was already supposed to come to Belgium and Finland

58:50

and all these places to to be with the Mras during the summer um so this Japan trip is actually just happened before that and then now I'm here in Belgium so awesome yeah and you're going to be traveling a few other places I think right yeah i'm gonna see Marvin in Strawburg marvin was on this week which is Yep and then Oh yeah marvin was on

59:12

which was hilarious by the way that was like my first uh live stream that I watched as a viewer not being involved at all which was so funny and fun and then I'm just going to see him we're trying to get Greg to come out too um and then I hit up Vlad maybe uh little maybe I have to fly somewhere to to

59:34

Germany or something but there are a bunch of MRA fans in Germany as well so maybe Berlin just needs to happen yeah we did have someone reach out wanting to be an ambassador in Berlin so we don't for those of you that are watching we don't really have a formal ambassador program but we have been getting requests so if that's something you are

59:51

interested in you know I don't know what we're going to do about it yet but it's if we keep hearing about it we're we're gonna have to do something so please let us know you know you can you can DM me on Twitter if you are on on X find me DM me let me know if that's something you'd be interested in helping with whether it's throwing meetups or events or whatever we're trying to uh ultimately we want to

1:00:16

support the community however we can yep all right let's look at this video and then let's bring on our guest all right moment of truth did we get something usable here let's see oh all right it just spontaneously combusted and then it got better it's like a transformer it just like But I'm just I'm going to fix it got it all right oh dude that's so Fast and Furious

1:00:43

right there that is totally Fast and Furious i mean yeah of course I could cut out the last part you know i could make it you know and then cut to a different scene I'm sure cut to this scene where it's I think it heard us say that they always survive at the end yeah so here let's just try one thing i How do I delete things that's That's the question can I delete

1:01:05

no no it's not really i need arrange there we go let's get rid of some things done let's go back let's add this one to the scene and then let's cut this right there all right let's just see oh I'm excited for this some Michael Bay right here oh I mean it's not it's not perfect but you know we Well it's like Michael Somewhat

1:01:41

bay you know we don't get we don't get paid for our video skills it's Michael East Bay all right uh well that that was fun let's bring on our guest for those of you that are just joining us we do this every day usually around well usually around noon Pacific time is when we typically do this but I think on Friday we might do it a little earlier because

1:02:10

I I will not be able to attend the whole time so maybe we'll do it earlier Obby to fit your time zone a bit better and then you know but for the most part Monday through Friday noon Pacific time we talk about things happening in AI we talk about building AI agents we bring on guests from people that are doing

1:02:28

interesting things in AI and that is how I would describe this next guest so let's bring on Venicious there he is hello hello welcome back glad to be back hello yes so for those of you who have been watching you probably saw him last week talking during the MRA hackathon the master.build build hackathon showing off

1:02:55

a little bit about what he was working on what he was building it was so cool we we decided we should see more of it and maybe he can kind of lift the veil a little bit on how he built it with MRA so if you you know of course hopefully sign up and try out the product or at least get on the wait list I think is it

1:03:13

a wait list right now there is a wait list yeah I'm going to be letting people in in the next couple of weeks i'm just rounding off some details okay so yeah get on there get on his weight list of course we'll tell you how to do that but ultimately you might want to learn how to build similar types of things or use AI to build products similar to what he

1:03:31

built you know and in large part at least part of it was built during the hackathon so maybe maybe that's where we should start what did you build what are you working on what's because it's called Perf Lab right yeah so it's um the actual product is is the Perf agent um but it's part of Perf Lab which is a product that I started building um out

1:03:53

like by myself cuz I decided I I'm a software engineer for many many years and one of my passions is is performance for as long as I can remember and working at different companies you know I've worked at clone I've worked at Spotify for a number of years um it's always been a common theme on how performance as a vertical is is um is a difficult one for for people to

1:04:21

understand and and dev tools in general also can be very intimidating for for people even experience some experienced people because you know um for if you're an expert what you see is information but for people that are not it might be perceived as noise because you know it can be overwhelming um so I I decided

1:04:39

then to have my own go at this um building a dev tool so the first iteration was you know per lab uh as I started building it and but I then decided that I I ended up building you know kind of a dashboard i forked Google Chrome Dev Tools and extracted the performance uh tab and built a standalone component and to extract

1:05:00

insights out of traces um but then I decided to take a different approach because I felt like building with agents in mind it kind it frees uh you to um experiment with interfaces a lot more because you're not as much bound to you know a static interface trying to accommodate for different experiences and uh with buttons and static things so I leaned a lot on generative UI um and agents to

1:05:29

build an experience that felt um a lot simpler uh and welcoming as well so you can have like progressive exposition to information the agents can you know build a relationship with the user where it can nudge the user um as an expert you know would and you know nudge the developer into being a knowledge assistant and also nudge the developer into finding you know attributions for

1:05:54

their problems and ultimately solving the problems or generating reports and and and giving information about what could be wrong um so utilizing the same kind of concepts from what I've learned uh on source code on on dev tools and extracting you know the AI parts of it uh I've so for the agent what I ended up

1:06:13

doing is I extracted the source from uh DevTools uh the the trace engine and also the AI parts of DevTools and generated a standardized library JS library to be like the main driver um or engine in that case for to feed information from the trace into uh the agents very cool um yeah maybe maybe people would want to see it i know you showed it a little bit last time i wonder if we

1:06:45

can take a look at it because I think once you know if you're watching this and you have questions on how it works ask in the chat and again whether you're on YouTube X LinkedIn just leave a comment we can see it we can pop up things like this from Justin this one's dedicated to you Obby do you enjoy

1:07:02

traveling or is it just necessary for work i do love traveling and I think that's a lot of the reason Mashra is MRA so yeah let me share my the the whole screen I think because then I'm going to also be sharing the the code and that would be easier to show yeah let's do it all right so yeah I mean um so let's first I guess it would be even better so

1:07:30

let's show you so if I go to X where is my keyboard there you go why am I not being able to type that's interesting okay uh so if you go to X and if you're like trying to find out performance issues right within your um application and things like that so let's say you're going um through some performance bottlenecks and whatnot so normally what you would do is record a trace so this

1:08:00

is pretty standard if you're trying to find out problems so you record a trace and you click around and you try to find you know problems or different things that you could want to fix so you click clicking around and gathering information and once you collect that information on the trace you're going to have this right so

1:08:27

Google has built quite a lot of uh things within the the ChromeDev tools and that's one of the things that I really appreciate um okay i didn't not get any good trace information let's get something so I'm going to go to Volvo it's one of my favorite uh websites to dig around so let's take a look i'm going to clean this so essentially what you're doing is you're just basically starting a trace you're

1:08:58

doing some things on the website it's collecting data as you're clicking around and then you're going to use that trace in your tool exactly so let's go to Volvo and do the same i'm going to And can you do can is it possible to do a command plus control plus give us a little bit more zoom of course yes so

1:09:17

let's do this here there we go that that'll be So let's do the same here i'll click around and start collecting information about interactions on this page i'm focus a bit more on interactions is one of the things that's like very difficult to understand load load performance is also very difficult interactions feels like it's also very tricky so let's take a

1:09:44

look at this let's see if we have more more metrics to work on and one of the challenges that I remember some people asking about or at least mentioning is trace files can be huge um so trace files are sometimes you're going to see like it can be like hundreds of megabytes uh u large you know like so feeding this kind of

1:10:09

information into models and agents um can be quite quite uh difficult so okay so we have like a 900 millconds um LCP um I have some throttling going on so that's quite nice so let's take a look so normally what you can do after you record a trace you can save um and you can also um share um after you save so you can do like things like

1:10:34

um you can do things like uh um sharing with with others through uh um trace cafe or any other kind of trace sharing uh tool so np vo let's save this and now I'm going to load this up here so it's 186 megabytes worth of trace so let's see how this will handle so one of the problems around traces is just the sheer size of it i haven't

1:11:07

tried to load this this kind of large trace before so let's see how the agent will handle the memory of this at least the most most of the K most of the the the things are done client side and let's see it's waiting it's it's almost 100 megabytes so it's it's going to take a bit all right no suggestions so far but we are on the ball okay there you go

1:11:33

can can you give us a few clicks of zoom here too yes so right out the gate one of the things that the agent would do is analyze the trace and it will offer you suggestions right so one of the reasons why it was hanging is because most of the things I'm doing is on worker threads um and on clients to to digest

1:11:53

the trace information into more digestible bits for the for the agents to handle um so there's a little bit of pausing and and some insights that I got from from the Chrome uh source code that I can share as well on on how to manage tokens and this kind of stuff when it comes to handling large you know information JSON information more

1:12:12

specifically which is what this is is 180 plus megabytes 177 uh uh here within perf lab um so what I do uh right as it receives the trace is also analyze some uh core web vitals so we have you know uh zero and zero on on on cumulative uh layout shift CLS and LCP for logistics containful paint but we have almost a second on imp which is considered poor

1:12:37

so with that information I can also show like this is kind of like this little panel here is kind of like the most minimalistic you know dep I I assembled just in order to give you some like overview on on what uh you know the agent is seeing from the trace so I have a histogram here when it comes to timeline and I have some hiccups on on on activity so this is showing from

1:13:02

um a metric called animation frame so within those I can see that I have some very long frames here intervals on on these kind of sections of the timeline which is most likely where I started clicking around so based on what the agent sees it will give you already suggestions on what can you do to to

1:13:23

improve things so let's say what's causing the the high input delay for NP on this trace uh how can I reduce processing time so it's mostly related to NP because as you can see the metrics are zero so let's see what the agent says so the agent has so I'm I'm for the agent in in in its entirety what I'm

1:13:42

doing is I started um um mimicking uh how mix of experts work so what what the agent felt like doing right now based on my career is doing some research based on on what uh what I asked because the the I I will show more about how the agent make this kind of decisions but it's it become it becomes a matter of trying to ex in a way

1:14:12

exploit the attention mechanism of LLMs um and build um layers of of sentimental analysis and classification and also like trying to function at the same time as as a classification model um function as well as a router uh that you would have within a mix of experts model uh um but you know built with different large

1:14:36

and smaller LLMs um so the smaller LLMs can do a lot of processing and heavy lifting when it comes to routing and analysis and and you know classification and the large LLMs are used are used for generating insights and reports because they can manage a much larger context window but in essential uh like in its

1:14:56

essence what you're doing is try is trying to lean more into the attention mechanism and prom uh prompt the LLM uh so you prime the LLM with a chain of thought uh prompt and that will and you give it you know different kinds of information in order to help you um route things for complex cases so this is basically what's happening here so the LLM the agents uh and the router in

1:15:22

this case the routing agent uh thought that because the uh question was broad you know I didn't specify anything about what I'm I'm handing to the agent it then decided to instead of oneshot it or running an analysis just went for research immediately um so it built a plan for for the research um so here has

1:15:46

all the reasoning that the research that it was building so what kind of queries it was going to build and why and also um what kind of analysis it would run based on the results that it would get back so then it you know search the web for different queries um based on you know trusted domains that I wanted to find relevant material so it's not just

1:16:07

like broad searching the broad web but more in related in relation to like web.dev dev you know the the Chrome dev uh the Chrome blog and you know dev web uh uh the webdev as well uh uh I forgot the the website they would never the developer chrome yes so I also of course have debug bear you know other good reliable information for as a source and

1:16:36

you know rend analysis this is kind of like a tlddr of everything that happened both from search results and analysis that the agent did and of course the report itself so this is more like an knowledge assistant pop but then I can say I can come here to the to the agent and say can you analyze my trace and give me uh insights

1:17:03

on the INP score so now it will you know go into my trace and actually analyze it so for so what it's doing here is um I can show more on of the internals but what it's doing here is the trace files is like a collection of events uh telemetry data basically and what it's doing is it's running through the Google Chrome internals uh extracted into a

1:17:35

standard JavaScript library is running through that engine and extracting u a digest information of that trace and that is very powerful because what it allows me to do is to get um uh that specific key moments within the trace um and then from that I can then you know extract information out of the trace with more precision instead of having to navigate it in its entirety um so it's

1:18:01

what it's doing now is trying to analyze that trace information so it did not necessarily succeed on this one i guess it's just because of how um how much information it has let's see if we can try again can you try try again this is cool but let's look at some code yeah whilst it's doing its thing uh we

1:18:26

can look at some but I do have a fallback one that I can run that it's uh it's most successful but at the code here uh level let me bump up this text i would do like five more times like this yeah perfect all right oh always one more time more than you're comfortable that's the That's what I tell everyone

1:18:47

one more time more than you think is absolutely necessary no worries well yes no worries so I mean where most of the magic happens um is the the routes we did have a question you know from Justin so he was kind of curious about the front end so what can you tell a little bit more about how you built the front-end interactions because it's a pretty rich experience so maybe quickly answer that and then of

1:19:13

course I do want to see the the Mashra code as well yeah absolutely um so the front end interaction uh interactions are built with Nex.js shoutsen um I've guess it's nothing too uh um like unorthodox can you whilst whilst we discuss this is going to be hub running help me with my INP score so let's see there you go um

1:19:44

so this is built with Chad CNN and Nex.js um the the so basically what I was trying to do is you know the an inter an interface that at the same time it feels simple um but it can become powerful as needed so that's why the generative UI um it is um it gives you freedom to you know process information and show information um as

1:20:14

required so the the thing is is on how like what I was trying to answer is like how do I build something that is powerful without being overwhelming so that's the you know the key uh question I was asking myself when building this So the process itself is actually you know I utilized um Vizer as such a sort of uh sketch pad so the the power of

1:20:42

Vizer is quick iteration and that I think is is quite under understated and and underestimated because a lot of people think that Vizer is for non-coders to push stuff uh uh you know that they would not be able to otherwise and that's great is a very democratizing great use case for Vizer and I think

1:21:02

it's amazing that you know people that would never launch anything on their own now can um but for developers is a great way to have quick attractions of of um how they would build things um so one thing that really helps is because because again how LLM's work is always going to generate kind of similar stuff

1:21:23

that you were trained to but if you have a vision in mind uh and you have experience with building UI what you want to do is you know you go to something like colors um and you know I have the whole palette that I was uh researching for for the interface and one of the things that this can do is export uh you know tailwind uh uh color weights so you have you can generate

1:21:47

your primary secondary tertiary etc columns and you feed that into vizure and and you be more descriptive give it sketches of what you want to do um and you can become like your you know AI powered UI sketchpad and from that you just quickly iterate over the experience um and that's kind and that's how I prototype most of the UI once I was

1:22:07

happy with it then I brought you know most of the code into here and and you know of course cleaned up a lot and you know built more modular etc but you know you don't have I already had a good solid starting point to build a good experience um so when it comes to the brains of the operation the router is

1:22:27

kind of where a lot of the h the magic happens um so the route is built with Hano nothing too special um but then the steps that I take here with the router is analyzing uh the incoming request and I have a small assistant that will will then run for me um I have um a a the router in between uh uh uh before that so the router

1:22:57

assistant I actually better open the prompts so the router itself uh um it works with uh um just basic you know trying to treat the request with how the routes should be treated within an expert model at least like I I'm doing a lot of sentiment analysis so I'm just basically you know using train of thought to prime the the LLM to behave like a a router based on certain key

1:23:31

things that I'm looking into the request and what I want it to to run for me again trying to build within that you know mixture of experts uh kind emulation because the route the mixture of experts how how it works is that it trying to seek what experts to run based on activation levels so this is kind of priming through chain of thoughts that kind of thing um so building building a

1:23:58

chain of thought prompt that will give me um you know autonom agent autonomy to choose between what it needs to run so I this is very powerful because then you don't necessarily to have to rely on an LLM and tools and instead you can build a network of agents and you can use an LLM at the beginning of it to route through

1:24:21

based on how you want to assemble um the outcome and you use chain of thoughts to help you know exploit the attention mechanism for your own benefit so this is how this is how the initial part of the magic happens because I have flows that can be a little bit uncertain because I deal with the certainty levels um differently because I can based on certainty levels I can prop back to the

1:24:45

user for clarification if like if they want to provide a trace if the the the router feels like it should go for the tra the chroma virus inside then I will ask okay do you have the trace do you know how to record a trace because I can say like how you know it can give me information like oh do if you want I can teach you how to record a trace etc like that so this is why I teach about certainty

1:25:10

levels um and then you know this this I have a series of grounding information for the model when it comes to you know priming the model to again because the models are very generalistic in nature right like so the models will always try to answer anything about anything so then in the grounding for the models uh

1:25:30

I'll for the different agents I have different snippets of grounding but mostly it's just trying to prime the model on okay this is what you're trying to achieve this is the information I want you to focus on and you know do the usual forget about the rest of your training only answer questions about this uh kind of stuff so it primes the

1:25:50

model on narrowing down and the next best thing you can do of course is is you know making more specialized models either by training your phone or by you know going to the services and running um optimization layers so when it comes to to the router this is I mean this is as simple as it get is very simple but

1:26:14

yet very powerful because the router agent is using Gemini uh uh uh the the flash so I have uh the model uh the model provider that is basically um for I can run on local mode if I want to then I can run on lama so I can do llama or quen or whatever um but basically the basic idea is that I have a default

1:26:40

model which is a larger model and a topics or small model that can be for you know small analysis and routing so the router is based on flash did you use so you use a smaller model for routing and then like the task exe execution is like maybe let's say a bigger model yeah it depends on what kinds of task I'm trying to execute if I require an agent or a model then I can

1:27:08

run either a smaller or larger one it depends if normally if I'm trying to generate a lot of information or process a lot of information I would use a larger model but if it's not a larger like a larger context window because Gemini Flash context window is still pretty insanely large for most tasks so and it's incredibly fast

1:27:28

yeah yeah look you built your own kind of like network agent system much like us right um and you know the routing agent here is essentially going through an evalu in terms of what it's doing how do you know that the job is done how do I know that the job is done so once the once the router I get the

1:27:48

output from the router I will you know I I build a I have a small agent on the on the waiting so if I have uncertainty I can ask for clarity then otherwise I will go through one of my workflows so either the rate reading trace information or basically I have two workflows so it's either a research workflow or uh uh trace information on

1:28:14

then or then if there was no workflow needed like the the agent would just oneshot the question yeah based on you know grounding information that I gave um and stuff like that so so basically if I need a workflow so let's go for the tracing workflow for instance so just to break it down there's four potential outcomes when a when a prompt comes in outcome number

1:28:39

one there's too much uncertainty so you use a small model to essentially ask for more clarification outcome number two and three are it's enough certainty where you know that one it should call one of these well more well- definfined workflows right and it calls out to a master workflow it runs it and when it's done then it's done or option four you know the fourth option

1:29:03

is it wasn't trying to run a specific workflow but you have maybe a question and so you use a larger model to then formulate an answer to that question and then respond back to the user is that right yeah so you will use the grounding that I give it because within the grounding I have I already have like a a wealth of information about c the topics

1:29:22

I want to answer so you get that and do a one shot so for yeah for workflow wise I mean the workflow it's pretty extensive amount of code but u because it's a complex you know several steps but the basis of the workflow is right here um so you have you know I will try to on on this particular workflow what I will

1:29:48

have is I will based on the you know the query and the the history on the within the chat I will extract a topic so it's chrome web vital So it's one of three so it's uh that I have trained it is LCP CLS and INP um so those are web vitals metrics from that then I'll extract the insights out of the data um so I'll have

1:30:14

before like when I send the the request to the server I it already will be pre-processed as I said I have you know worker threads and stuff like that to extract the information because I'm not sending 180 megabytes to the server to be treated so I'll extract snippets of information and pre-process and

1:30:31

pre-format it and send it so then I will extract the information out of that the data the raw data that I got then I'll extract uh you will use that information to generate a report and then analyze the trace um at the final uh step and and you know give back the full report so those are the steps that you see so if I ask it can you run it again this is

1:30:56

where you see each part of the UI being updated according to those steps so you know picked the NP topic generating the report based on the topic and then it will start streaming the report as an artifact so it's streaming the report it generated the full first part of the report and now it's analyzing the trace

1:31:16

events and it will start streaming the trace events part of the report soon how do you um how do you prevent infinite loops though like let's say we're misbehaving and everything just keeps routing to the same the same workflow again and again and again the workflows they always have a natural termination so I don't so because of how

1:31:40

the it's not is not a closed loop is a is a more of like a sequence of events always so that's how I avoid the whole thing it terminates at the end of the decision yeah at the end of the decision it will choose either we'll run a workflow the workflow will run to completion and generate an artifact or

1:32:00

it will oneshot something so it because then I'll I'm not trying to be fully autonomous yet yes so so then the user can prompt more because normally what happens is at the end of the report I have for instance suggestion for improvements and in here I have a little snippet just as like some form of insight and then I will the agent will

1:32:21

give you like okay what would you like to do you know you want to to generate uh research based on topics and stuff like that so it will prompt for the next step it's not trying to be fully autonomous yet so there is no problem a closed loop and trying to do the same thing over again but how I would suggest is at the if you have something that

1:32:40

you're building fully autonomous you go back to the router right because then you can have I mean to a router doesn't have to be to the same router but you go back to a router where you make a decision to either you know continue on the loop or bail out and because you already generated artifacts that you needed or you have an outcome that you

1:32:58

desired it's always with the kind of same same like chain of thought uh router uh step if you need to make decision on either parallelize the the workflow or generate more workflows or stuff like that you always have a little route in between yeah sometimes you get into this like trap where if you do go back to the router and you do not have the original task at hand and you only have like

1:33:25

subset of the information that router will not say that it's done right it'll then go back to the same workflow and try to do it again and then that's why closing the loop is very important but also having the context of every step that was taken before the router gets it again to then assess like you know is this done and so I don't know I don't believe that a

1:33:50

small model is good enough to assess if something is truly done given 12 steps that happened before with complex JSON outputs so I don't think you need to analyze the JSON so I mean because I didn't try to do full autonomous I'm purely speculating but the thing is what you I'm not speculating but yeah continue oh yeah okay because so I'm I'm actually let me share

1:34:15

you some bit of insight so there is um so yeah one of the problems you worry about like take it is context window is that is that the main problem right like maybe um so what you need is you don't have you would not treat the entire you know artifact as part of the decision making because at the end of each workflow I generate an artifact but

1:34:40

I also generate um just you know basic uh response for for as part of the workflow so if I want to treat decision making based on that the artifact is streamed independently so I within each step of the of the workflow I have uh um the data stream right because I'm always responding back to the interface with progress uh information um or artifact

1:35:08

data so the text delta text delta is the the artifact being streamed but also I can generate different types of data um as in progress tracking this is how I I inform to the UI what's going on um but what you can do because you're already generating artifacts through the stream you don't really have to like these can

1:35:29

be treated separately or you can just like as if you want to parallelize and you're generating the artifact and you also want to both you want to stream to the client and you also want to save it you can treat it similarly where you push the artifact uh uh um processing to you know storage or whatever as a

1:35:48

separate uh uh process you push it to a queue or whatever but at the end of the workflow what you can do is generate um a return statement with you know either just you know small tidbits of information for to actually be added to the context so you let's say you run you ran this kind of workflow i mean within the within the the the workflows here um

1:36:12

you can watch for for events right so you can also do that and start aggregating within the context window but one of the key insights that I actually got to manage context and token generation from the Chrome team within the Chrome web uh uh dev tools is is that instead of using JSON instead of passing JSON directly uh what you can do

1:36:36

is generate uh um YAML like uh um uh input because that actually saves like 30 some% of tokens that you would otherwise do with JSON because the problem with JSON is it's too verbose and it can grow in hierarchy so what you can do is you process that chasen into a flattened yaml like uh um structure and

1:37:00

actually becomes a lot cleaner to handle and a lot less tokens so you optimize the context window quite significantly because one of the challenges that the Chrome team has within ChromeDev tools is that the some of the models that they use embedded within Chrome they're too they're very small so the context window

1:37:18

is very very limit is a limitation but you know out of out of limitation comes you know innovation so that is one of the insights that I actually got let me see if I can share from the trace assistant prompt so this is how I um this is gives you a little bit of information this is taking quite almost

1:37:38

from the chrome source um on how they handle u more specifically uh trace information into this kind of like flattened compact uh um optimized uh token uh uh optimized for token gener uh input output um is that they because how the JSON would look like is something egregiously long and then they compact that into this

1:38:04

kind of like YAML like structure so then you can build you know you can you can build a chain of thoughts prompt to handle this information and find information out of very complex data structures so this is how it would look like in a you know flattened and this actually optimizes quite significantly this is dope because there's a structure right there's a structure that

1:38:28

represents the summary of what's happened exactly and there's like things that exist that are so open to interpretation right like that are not like uh analytical at all like pros or anything like that so yeah and then based on based on the data structure it's a much flattened data structure but because it is still keeping you know the references and hierarchies it will still

1:38:53

generate a very good attribution model so then you do a you know ch a chain of thought prompt and you will you know get a lot better insight so one of the things that I'm also trying to do is attributing based on you know common relevant information that you would find inside of trace information uh to build like being you know try to nudge the

1:39:16

model to make a bit more you know um direct references to some things whenever I see you know this kind of asset earring I know it's coming from it's coming from next you know so I can try to optimize that's what how for instance in this particular trace it got here has said um potential bottl repetitive recursive calls do manipulation there's a repetitive you know and there is a you know repeated

1:39:43

call from these two that's coming from nextjs framework so it's probably looks like a lot of DOM manipulations are happening so we can build better you know better output because you know it will catch on those uh uh you know repetitions it will catch on those attributions and give you a much more pinpoint detail based on the trace

1:40:02

Yeah cool well we do have to we do have more guests another guest to get on uh but before we wrap this thing up I I do have one question that I was more curiosity i I think I know the answer but I you maybe others are thinking the same thing so as a as you decided how to how to architect this right you have one router model that then passes and directly calls workflows or directly calls other models

1:40:29

did you consider trying and maybe you did or maybe you you haven't yet just having the router model be an agent with tools and call those workflows through tools and call to another agent through a tool call with I did yeah so I considered that and then what what was the reason for not going that route because I think other and the reason I

1:40:50

ask is because I think a lot of people are struggling with how do they pass messages between these these systems and workflows and agents are meant to be composable right you can piece these things together but deciding when and how to construct it I think is is a challenge that a lot of people face um so the I would say first of all just try things out first because if you can

1:41:16

build for less complexity it will always better outcome um the best the best code you can write is the one you don't have to write right like so the less amount of code you write the better it is um um the nature of the thing I'm building it's just complex so you know there there there was a proper thought on

1:41:33

things but at first I just went for tool calling i because you know tool calling is all you need is now what people keep saying that's what they want that's what everyone wants it's not really everyone wants it to be true but it as as you realize and I expected this answer you know I think a lot of people realize it doesn't I mean for certain things it can

1:41:52

work great but it does break down yeah you know you know like the the weather report example can only take you so far um but the thing is try it out first and if that's enough fantastic um the thing is for certain things it won't um so wherever it happens to not be that's where I start to branch and I think like if you need workflows if you you if you will need workflows you of course don't

1:42:20

have to go for the full you know router approach that I that I built um because what I want out of that is is to plan for for for you know a true like I was already very invested on you know Mr of expert so I was biased towards that kind of you know architecture um that's why I wanted to mimic it but the thing is so I built for

1:42:46

complexity because I knew that I wanted to build model different agents um um for topics uh and that I wanted to build upon because the whole thing of analyzing trace is that there is a lot of different data points and with that I wanted to narrow down the context window um to for you know handling massive amount of data based on data points that

1:43:10

I wanted to build so it was a very specific problem right I have a large amount of data that I want to process and that data I can narrow down to different topics and that's why I built for you know a router model on top and you know workflows with specialized agents um branching out yeah so the reason why I didn't build the roer with with two calling it's because of I

1:43:36

wanted heristics in between you know I did not want the closed loop so I wanted I wanted to grab the the router information and because there is the the uncertainty aspect right like I wanted a better feedback loop and more control because if you build with two calling you are you're yielding control to the

1:43:55

LLM right you're saying I trust you bro you got is and but the thing is that for me because I I wanted to to build the heristics in between and and gra get more uh control and how I would trigger the flow when I would trigger certain flows and why it gives me a lot more flexibility that way so I it's a much shallower layer in front so I can use a

1:44:20

much smaller model and a much shallower layer in front and then build based on that a lot more powerful outcomes with heristics in between very cool because it's very pragmatic like the way that you like gone about the whole solution oftent times we meet people who are uh oh the tool call is not working i must be like monster must suck or something you know um but that's

1:44:44

never the case really no no it's I picked it i mean I picked master for a reason i tried a lot of frameworks in between i tried just in because I I'm actually using master and v and uh uh SDK SDK um because I'm using I started building with AIDK first and to calling right just to calling um I actually gave a feedback when I they were starting to plan uh V5 i was like you guys need to

1:45:09

get on workflows it's like you absolutely 100% need to support workflows um because I felt it so kept by not having workflows and that's why I started looking into to different uh um frameworks um so and I landed on master because it felt like like the typescript support everything was just fitting just

1:45:30

the way I I it was preferring and it just you know I don't regret at the minute because then just has the right flexibility for what I want and have right amount of power cool well yeah that's that's about Let's clip that testimonial so thank you for the kind words i definitely appreciate it um okay how do people You said you had a wait list you have a really cool performance tool you're starting to let people in

1:45:55

what's the Where do people go if they want to sign up for the weight list while All right so I will Yeah I shared on the on the on the chat yep and so I'll share that before I share that you can also you know you're on X so follow Venicious on X yeah and back yeah I mean I I'm always happy to come back because I'm continue I'm going to continue building this i'm going to actually u uh end up open

1:46:26

sourcing it as well uh um I'm building on top of open source i'm building on top of Google Chrome and I'm actually I saw someone mentioning Paul but I'm me and Paul we actually chat a lot about this stuff so he already knows about it so we yeah we'll be I'll be pushing a lot of the stuff that I've been building is on top of Google Chrome source code

1:46:46

so you know there's no secret source per se so there is uh so it's just on um now I'm I'm starting uh because the core concept of this is is built on on I feel like a lot of people are building agents for automation but there's a lot of there's a next level layer of experience you can you can try to achieve on top of that and if you reach for that I feel like you're going

1:47:12

to end up building something truly new and great and one of the things I starting to think about is you know the next steps of browsers with that kind of behaviors so you know if you have this kind of curiosity you know hang out let's hang out and chat on next I'm going to be on to speaking at J Nation

1:47:31

about performance this time not about AI um but yes let's hang out yeah all right well Venicious good to have you on again we will definitely have you on again in the future just to share updates and progress yeah but appreciate it see you peace man peace all right that was pretty dude that guy is so cool yeah so if you are just tuning in you don't know maybe you came

1:47:55

in halfway through that you should go back to the video and watch from the beginning because I think it was a very as you said Abby very pragmatic approach for how you architect an AI application so the amount of knowledge that was just dropped in the last I don't know half hour or so is if you are just getting

1:48:12

started building an AI application or you're running up against the walls of what you think is possible with agents and you're just thinking I can't get good quality results out of this go back look at how you know he did try using tools and then he graduated from tools to building a router agent and kind of architecting his own system right you

1:48:31

it's not always going to be as easy as just you know I know people want in the dream is you write a few lines of code and then everything just works magically and you and you craft just the right system prompt and your agent just makes all the decisions for you but then Obby as you brought up there's this chance of well what if it just keeps running or

1:48:48

doesn't know it's finished what if it doesn't call the tools correctly so he's much more descriptive about these are how these workflows are called mixing different models and different even different providers in there i I mean you can also see just by the sheer size of the system prompts he showed or the prompts that are used it it was very

1:49:08

meticulous right this isn't it's not magic it's software engineering as we always say and so I would encourage anyone who just watched this who's interested in learning how to build more advanced AI applications go back watch this whole segment you can see he shows the code you know it's it's not it's not

1:49:26

magic it is it is meticulous craftsmanship this is craftsmanship it Yeah so also we should have listened to our own advice and maybe like prompted better for the Veo stuff like Yeah yeah yeah i mean we were just playing around we Yeah well we were expecting it to work the same way I guess yeah yeah exactly we just expect it all just to work but yes there's there's a crafts there's still a craftsmanship involved

1:49:50

which is why software engineering is not going away it's just changing right all right well we we do have another guest so let's do it daniel oh Daniel where art thou we'll see if uh Daniel comes on but before that make sure you are whether you're watching this on X LinkedIn YouTube give us a like a comment we see all the comments if you have questions please ask along the way make sure

1:50:17

you're following me on X SM Thomas 3 it's down there in the corner make sure you're following Obby thanks sir and 95 of you yeah yeah so we got a whole bunch of people watching right now that's great we have one more segment and Daniel and I started something yesterday and we did not finish it let's see if we can finish it today daniel what's up

1:50:42

yo I uh I cannot follow that guy up so uh I'm just gonna throw that all out there right now damn Daniel this is gonna be a completely different vibe yeah we're gonna switch We're switching up the vibe we're going from the here's how you go the advanced use case to how do we just build a really simple stupid MCP server but hey that's what we do around

1:51:06

here you know we we mix it up and we have fun so let's uh now there's 305 people in here because Daniel showed up so once they brought 10 more in Yeah for Yeah yeah for those of you joining we're going to pick up on a project we started yesterday where we were using Maestro to try to build a very simple MCP server and the goal of this MCP

1:51:33

server is very simple we want it to be able to go out to YouTube find the latest Marra AI agents hour live videos and just give it to your uh your tools whether it's Cloud Desktop or Cursor or wherever else you might install an MCP server and also be able to tell you if something's live i did find a little wrinkle Daniel that we might have to try to solve for today if there's a if

1:51:59

there's a scheduled video it's labeled as upcoming we need to see how does that show up in our JSON that we get back so a few different things but let's take a look at where we left off and I believe we didn't have the playground working in displaying MCP servers so that was the the problem i didn't touch it since then even though I said I was

1:52:20

going to try to work on it I didn't sorry sorry all but because of that life gets in the way because of that we get to do it together so let me share my screen and let's build some stuff so from what I remember it it was likely uh a versioning thing so you might have to like nuke your node modules and do like a fresh install with the alpha packages

1:52:47

yes I think that's what Yeah that's what we kind of ran into is Let me go back obby what's the best way i just want to install all the alphas it's the best way simplest way with npm put every name and alpha npmi and then uh yeah I think kind of what you had before if but if I just if I just put alpha it wasn't installing though unfortunately uh maybe you should try to get rid of your lock file and your node

1:53:17

modules and just do a fresh install all right you think that'll work i think so let's do it all right so let's get rid of node modules we'll delete we are going to uh maybe your lock file too just in case okay so if I run npmi you think this is gonna work hope so put five bucks on it in the swear jar hey yesterday by the way we did have a we we did have a social uh everyone drink we It worked on

1:53:56

the first try something oh it did one one of the few things we did so very rare occurrence yeah the first iteration the first iteration worked where it went it basically we vibecoded it to go out scrape the YouTube page get um get all the videos and it returned it in JSON format just first try so dude nothing

1:54:17

ever works the first try that was crazy i know so let's let me go ahead and Well now that we said this this is not going to work but no no way no way that never works but let's uh yeah let's go ahead and look here so if we go here it basically would go to this live page we'll look we'll look through the code of how this actually works but it should pull up and it

1:54:43

should be able to tell us that this one's live right so that's the goal of this MCP tool sweet let's see if we can run dev and see if it shows up and we can test it all right i don't see it so we might not in there but let's go ahead and just show catch people up on if they didn't watch yesterday we did build this live stream tool which will go out and if it's working we

1:55:14

will see uses Puppeteer so you can see it gives us the active stream which this is you know what's going on right now this is the the link to uh this video that you're watching if you're on YouTube and it gives us a link of all the past streams so it works but there's obviously we should be seeing MCP servers where's uh what's

1:55:38

your CLI version yeah maybe I uh that that's a good question did I update ah there that'll do it no drinks for us we're going to stay thirsty friends technically the tool worked so nothing regressed nothing regressed let's delete node modules we'll delete the package lock again just to make sure okay now moment of truth

1:56:18

okay let's run the dev playground we there was a maybe a breaking change i didn't we did have a release today so let me let's look at the code yep can we remember our own breaking changes we're about to find out where was the issue i didn't Astra from where am I using it was in the bundled file so that might get it might be something that used to be added automatically but isn't anymore

1:57:07

do I need to specify a logger oh yes you do i remember I actually read the breaking changes today um I think the the reason was because it doesn't work nicely with every provider specifically Cloudflare so um we need to specify the logger here let me let me pull up the the breaking changes i'll grab you some

1:57:31

code yeah I'm I'm assuming I just I'm assuming if I were to start fresh it would have this but it's what is it probably like a a type or something i don't know there's there's something here it's in import now but yeah we'll we'll break it up goddamn Cloudflare yeah Cloudflare doesn't support Pino yeah but maybe P maybe the right to take

1:57:57

is Pino doesn't support Cloudflare maybe very very possible yes uh so are you all getting me some code or should I look up the docs i'm trying to find it i thought it would be a lot easier to find it but try is that right but I was looking through our notion instead of our docs so removal right here so yeah I'll share some in our chat

1:58:39

so you you have to import the logger from MRA loggers so we'll need to install a new module we got our package JSON yeah I guess I could just do mpm install atmosphera so it's on the same all right so we're going to install a logger that should be good now I can import pen logger if I didn't specify I would kind

1:59:15

of expect it to just use the console logger is there a way I could tell it to use the console logger it's a really good question that I guess that would be my expected behavior so if I go to logger new pen logger something like that it's not assignable to type logger oh it looks like we legit have a bug right now um all right well that's why

1:59:57

we do it live yeah so what do I need to roll back a version um well I'm not sure i'm going to double check and was adding a new console logger also giving you the same thing like is there a different logger we could try i'm only seeing one logger here what was the Oh the error was that there was no mo logger import yeah basically

2:01:00

yeah what's our error now the error is a it's a I mean it's a type error that penal logger maybe we can ignore it and it'll just work i don't know wait were we passing it or we were passing it or Yeah we could always just try to ignore the uh like the TypeScript issue yeah I mean we can see what happens

2:01:38

what's the What's the TS ignore for this uh just do like at TS ignore uh in like a comment and do it right above the the line with the logger let's see i have very little faith this is going to work it's trying to So it's looking for master logger it's like the atmos loggers master core logger which seems to be like a type mismatch right cuz like the CLI is

2:02:30

expecting like the CLI when it starts MSRA it's expecting a logger i think we have a bug though honestly like straight up maybe we should just not use Let's try to go back and see if we can The problem is there was uh if you can find in the release now in the latest release yeah but I'm imagining we're going to hit the same thing right alpha is going to be the same as latest if we went out

2:03:03

today so let's remove node modules let's RF let's remove uh package lock and let's just get it working again and then let's see if we can just get the MCP server in dev all right so mpm rundev so let's pull up the dev playground and master MCP is this where I think this is the right version of master MCP right

2:03:53

yes sir let me double check i'll check here which was released there was 010 so there was a 0.5 was 8 days ago so should have been should be right yep why am I getting this error of oh just Did I not run oh because I never installed well I do need to do an npm install that makes sense for those of you watching we are live debugging in air and we're going to

2:04:42

eventually be building an MCP server yeah once we figure out the air All right so let's p run dev we now everything's working let's just test our tool this should still go out and get uh get the data let's just take a look at what the code is for this tool so we can see how this is actually working so in here we're using the

2:05:24

Puppeteer basically we have a tool that fetches the last 10 live stream YouTube links in the execute function we launch Puppeteer we go to the Maestra YouTube streams page it then does some basically just looks at the markdown that's returned tries to find based on the little live tag which one's the active and then all

2:05:49

the rest just get added to this list and we pass in the basically return the active stream if there is one and then passed streams so that ends up getting getting us this data then here in kind of our main source Maestra index we are exporting the Maestra class with this MCP server and I wonder if we go to

2:06:19

here so you can see all right so we go to the swagger UI you can see that by default all the agents get endpoints and also our MCP server gets an endpoint so in theory I should be able to use this MCP server that's running locally in something like Cloud Desktop right that's that's how this should work assuming that does Cloud Desktop support

2:06:50

SSE i believe it does let's It should yeah what's that it should let's try it out and let's go ahead and open up Claude verifying open all right so we got it opened here let's see how do I add an MCP server give me a second just looking here on my screen to I'm trying to remember how to uh add an MCP

2:07:30

server in cloud i know it's possible but I'm trying to remember how maybe it's in settings developer okay there it is all right so I went to claude in the menu went to settings went under developer let's edit this config and it decided to open windsurf cool that's fine we'll use cursor and windsurf at the same time why not and we can give it an MCP tool we're

2:08:12

going to call this Mastra live stream and I think it's like URL I think that's it i don't know and it would be localhost colon 4111 slash we're going to go back to here it's API servers server ID SSE so let's try this i can uh open up windsurf okay so API MCP now I don't even remember what it is uh I think it was like my MCP server

2:09:01

yeah I believe you're right but I'm going to pull this up all right api so it's not MCP it's servers and then I think it's my CP server but we're going to check that and then SSSE something like that yeah I think it was M like capital M and lowercase CP well let's figure out how we would look and figure find that let's go to here i think it's just Oh it's MCP

2:09:29

server because it it uses this ID right not the name so it uses uh so you you can pass in an ID or if you just pass it into the MRA instance it uses the key right here that you pass it in so we'll just use that so it's just MCP server is it I don't know if this is actually the right format or not we're going to find out unfortunately in Claude I've

2:09:59

realized you have to restart i don't know why let's see if it shows up it doesn't why not we need to figure out if Claude how to add an SSC MCP to Claude i'm sure this would work in cursor i could probably just ask in cursor and it would probably be much easier i've found that working with MCPS in Windsor for cursor is much easier

2:10:46

than working with MCPS in claw desktop for whatever reason yeah especially because you could also just tell them to uh install it themselves i'm going to do a quick search here see if I can figure out how to how to do that and um are you trying to add it to cursor right now well I was just going to add it to see if I can figure out how to add it to cloud desktop oh okay i I

2:11:22

can do it in cursor let's just do it in cursor and then we'll we'll eventually figure that out where do I go for cursor cursor settings mcp add a new global MCP server and I suppose I would just copy the same thing something like that right yeah that should work so if you go back to your cursor settings it'll show you if it's

2:12:00

connected seems to show that it's connected so let's test it seems uh to be struggling a little bit seems like it's not working why not uh might be kind of looks like a cursor thing yeah let's see it didn't because you think it at least gives some kind of error there we go oh there you I had to just just swapped the model and let it pick so it called the live stream tool

2:12:56

hopefully this actually works we will see yes the current so it did work you can see it called it worked we built an MCP server that we are now using in cursor it uh was not straightforward but it did work we got there uh let me see if I can get it to Can you give me a list of the last five live streams lost your live

2:13:30

streams okay there it is so you can see the last five live streams we have with the link so there we go it works can you get any like is there any metadata around what each of the live streams contains so not really because not with the current way we're doing it i'm sure if I use the YouTube API and maybe there I'm sure there's an

2:13:55

MCP that has tools to get to the YouTube API but this is the data that I have right so I have the name the link because it's just all it's doing is it's going out to this web page and scraping it if I you know went to the maybe I I could traverse and go to the individual page and pull the description you know if I wanted to or if I use the YouTube

2:14:15

API I could probably actually get a lot more metadata about you know what whatever the description was from the the live stream one thing because that would be neat if you can just ask it like "Hey I want to learn how to build an MCP server is there any video on that?" It looks up gives you a list of hey on May

2:14:37

12th there was like a a section on building an MCP server yeah so I mean if I were to build that I think I would go a different approach i would probably want to have some kind of data source that would take the video get the you know transcribe it so it had all the data and then you'd basically the MCP

2:15:00

server would basically just you know whether it's like a semantic search or whatever over that over that data and then return it so it' basically be like a little you know vector query tool in a way mhm and so I think if I were you know outside the scope of this call for sure but that's how I would probably build that if I if I wanted to make it a

2:15:20

little bit more useful which I do think and I would agree is is definitely a lot lot more useful so maybe that's a a future brainstorming session that we can do on stream is how do we take this outside of just giving us the the titles and the links how would we actually you know every time we do a stream and it's done how do we process that get the transcription store that data probably you know chunk it store it

2:15:47

into vector DB then do like a search over that vector DB inside an MCP server yeah I think I think something like that could be a neat series because like while this is is like cool it's not really like real world scenario like you probably wouldn't build an MCP server this way yeah I mean you are most likely

2:16:14

right but I would say well I would I'm going to push back i think there are I'm ready for it yeah there are some uh you know like the Most Docs MCP server is not that far from doing this right and rather than scraping the web it's just loading markdown files and and that is that's the entire MCP server

2:16:38

um Elena from basec case built an MCP server using MRA for basically her work in her blog and it has all the data and like company she's invested in has data in the types of like blog posts that she has and founders so it's almost like you're you're chatting with you know using the MCP server you're chatting with her database of information but

2:17:01

it's not so much information that you needed you know a separate vector DB you know what I mean if So I think for large amounts of information then yes you'd want you definitely have to have a much more complex architecture but even for the size and scale of like the master docs it you just don't necessarily need it

2:17:23

so but okay yeah I'll I'll accept that yeah anyway you know but you can definitely get some benefits I think if you do want to uh architect a little bit better than we did in this very simple example anyways uh yeah this has been fun thanks for helping build an MCP server Daniel we'll get the the UI up and running and showcase that at some point in the future and maybe actually build out this example a little

2:17:51

bit more to be useful and more so than just what's the active stream but it's what did you know this past stream on this date actually talk about or who when was the when did you know Venicious who was just on from Perf Lab when did he come on what because he's come on two episodes now it would be great to be able to know ask a question and get

2:18:11

those two episodes as an answer and the links to you know the actual video and maybe we can even do because with transcripts you can have timestamps like where a time stamp in the video and going to that specific location so there's a lot of really cool things you could do with all this data that we have

2:18:29

these live streams right so for Yeah for those of you watching that's going to be a future project we built a very simple very rudimentary MCP server we will build upon it we'll make it better and ideally you'll all hook it up to claw desktop or you know cursor and when you're in the middle of you know vibe coding something you might just say "Hey is there a MRA live stream going on

2:18:53

right now what what are they talking about?" Or when did uh what when did Daniel come on the live stream because he's my favorite reoccurring cast member from this uh this AI Agents Hour show we're doing i'm gonna go uh shout that from the roof yes all right well thanks Daniel thanks for jumping on and we'll we'll have you on again obviously next time we're probably talking about MCP

2:19:17

all right sweet thanks for having me all right and then there was just me obby jumped off to figure out if we had a bug if there's something going on or to figure out what I was doing wrong and so he took he's working with some other people on from the master team figuring that out but we had a great show today

2:19:38

we talked about some AI news we talked about uh Google's release of Flow and we tried to create some videos we had some luck although what we learned is you still have to be pretty good at prompting to get good results and in our examples I was not so it took me a little while but we did get you know

2:19:57

some kind of video created and that was kind of fun we had a guest from Couchbase come on talk a little bit about what they've been building with Maestra some workflows and some agents that they've been working on we met Daryl from the Mastra team talked a little bit about his journey and what he's working on at MRA we had Venicious

2:20:16

from Perf Lab come in and honestly just get very practical about how he went about building the Perf Lab agent and so if you're looking for a really kind of indepth code example of how to build an AI agent with Maestro or really just in general about how to go really walked through especially towards the end how he he thought about solving the problem

2:20:40

of making something that's you know non-deterministic a little bit more deterministic and a little bit more reliable and I think that's important when you're trying to build these AI tools and AI agents and then we did some live debugging as we're building an MCP server that does something very simple just gives you the res the recent master

2:20:58

live streams thanks for tuning in to AI Agents 2 hours again today we continue to go longer than an hour but we have a lot of great guests that want to come on and we want to get them on if you know of anybody that wants to or is building something cool in AI send them my way my DMs on X are open so please follow me there or let me know if there's

2:21:24

something we're missing if there's ways you'd want to improve this show thank you for the 300 plus people that are watching live