WEBVTT

NOTE Sentence-level transcript of https://www.youtube.com/watch?v=DZ24Xbm9Joc

NOTE One cue per sentence. Cue ids are the line anchors on /transcripts/DZ24Xbm9Joc.html. A cue ends where the next begins, or 2 s after its last word.

s1
00:00:01.309 --> 00:00:03.309
[music]

s2
00:00:12.480 --> 00:00:13.480
Hello.

s3
00:00:13.480 --> 00:00:15.360
Hello everyone.

s4
00:00:15.360 --> 00:00:20.720
We are here to talk about how to build financial agents that work across the entire web.

s5
00:00:20.720 --> 00:00:25.200
I hope you've been having a great day so far in New York.

s6
00:00:25.200 --> 00:00:26.800
I am Jay.

s7
00:00:26.800 --> 00:00:33.080
I'm Amarik and I think the place to start is what even is a browser agent, right?

s8
00:00:33.080 --> 00:00:39.560
So if we think about it and first if we want to go back to the previous slide, quick show of hands, who is building agents today?

s9
00:00:39.560 --> 00:00:41.120
Show of hands.

s10
00:00:41.120 --> 00:00:42.480
Okay, we're in the right place.

s11
00:00:42.480 --> 00:00:45.560
And who works on like finance operations?

s12
00:00:45.560 --> 00:00:47.920
I heard about some conference going on today.

s13
00:00:47.920 --> 00:00:49.280
Anyone in finance?

s14
00:00:49.280 --> 00:00:51.320
Okay, couple more engineers.

s15
00:00:51.320 --> 00:00:59.680
If you also want to ask us any questions throughout, you can scan this QR code and you'll be able to ask away.

s16
00:01:00.080 --> 00:01:00.880
Cool.

s17
00:01:00.880 --> 00:01:01.680
Back to the show.

s18
00:01:01.680 --> 00:01:03.400
So what is a browser agent?

s19
00:01:03.400 --> 00:01:12.440
An a browser agent if you think about it, if an agent needs to access the web, interact with the web, read information from the web, take action on the web,

s20
00:01:12.440 --> 00:01:13.600
it needs a browser.

s21
00:01:13.600 --> 00:01:28.560
Whether it is booking a plane ticket, booking a flight, planning a date night for you and your wife, getting some pricing information on a competitor, it typically needs a browser to be able to access those hardest to reach sites that don't have an API or don't have an MCP.

s22
00:01:28.560 --> 00:01:36.720
And so in a nutshell, anything that you need to do on the web, your agent should have the tool called the browser.

s23
00:01:37.600 --> 00:01:40.040
Show of hands, who knows these three companies?

s24
00:01:40.040 --> 00:01:41.400
Ramp, Bill, Stripe.

s25
00:01:41.400 --> 00:01:42.720
They familiar with the crowd?

s26
00:01:42.720 --> 00:01:43.680
Cool.

s27
00:01:43.680 --> 00:01:55.840
When you think about what these three companies have in common, well first they're all financial institutions, they're dealing with highly sensitive information, but when you think about it for like Ramp, Bill, and Stripe, a lot of this information

s28
00:01:55.840 --> 00:02:05.440
lives on the hardest to reach parts of the web, whether that is behind a portal where you need to log in, whether it's on a website that is heavily protected by antibot.

s29
00:02:05.440 --> 00:02:13.160
It is extremely challenging to get access to this information, and the answer is using browser agents.

s30
00:02:13.160 --> 00:02:16.680
So, if we want to start off, we'll go with Ramp first.

s31
00:02:16.680 --> 00:02:19.560
So, Ramp, I'm sure everyone in this room is familiar with Ramp.

s32
00:02:19.560 --> 00:02:22.440
We actually are big users and fans of Ramp.

s33
00:02:22.440 --> 00:02:26.440
Uh they make it incredibly easy to for a company to manage spend.

s34
00:02:26.440 --> 00:02:34.680
When they were growing and scaling, they started having to interact with hardest to reach portals, and more portals than than ever before.

s35
00:02:34.680 --> 00:02:41.280
And so, the problem or the gap was, how can we fetch these receipts efficiently at scale?

s36
00:02:41.280 --> 00:02:43.120
They didn't know about the browser agent.

s37
00:02:43.120 --> 00:02:49.440
So, instead, they're like, let's just put together a team of humans, and they will log onto these portals, and they'll go fetch these receipts.

s38
00:02:49.440 --> 00:02:59.959
Well, that can that can be good for a series A, series B company, but when you start growing and scaling to the to the masses that uh Ramp is at, you need a more efficient way.

s39
00:02:59.959 --> 00:03:01.720
You can't continue to hire humans.

s40
00:03:01.720 --> 00:03:05.800
You're just going to be bottlenecked by the limitation of scale.

s41
00:03:05.800 --> 00:03:08.000
So, in comes browser agents.

s42
00:03:08.000 --> 00:03:11.480
And now, again, we are big users of Ramp.

s43
00:03:11.480 --> 00:03:15.360
I booked my flight to this conference using my Ramp card.

s44
00:03:15.360 --> 00:03:19.560
Immediately after booking my flight on that Ramp card, Ramp spins up a browser agent.

s45
00:03:19.560 --> 00:03:21.440
That browser agent goes to Delta.

s46
00:03:21.440 --> 00:03:22.519
It logs in.

s47
00:03:22.519 --> 00:03:26.840
It captures that receipt, and it matches it to the transaction.

s48
00:03:26.840 --> 00:03:34.040
Um so, once they do that, that's that's all good and dandy, but when you're doing it at scale, you're going to run into things like antibot.

s49
00:03:34.040 --> 00:03:37.120
So, how do you reduce that friction?

s50
00:03:37.120 --> 00:03:40.480
How do you eliminate getting blocked?

s51
00:03:40.519 --> 00:03:47.320
And to understand this, I really want to go back to how does the browser work on your laptop?

s52
00:03:47.320 --> 00:03:52.400
Think about Chromium or Safari or dear.

s53
00:03:52.400 --> 00:03:54.880
Chromium allows you to access the web.

s54
00:03:54.880 --> 00:03:56.520
It's an executable binary.

s55
00:03:56.520 --> 00:04:02.360
And right now from this slide we can see that we are booking a flight to New York.

s56
00:04:02.360 --> 00:04:10.160
And in the background, your browser has an entire fingerprint.

s57
00:04:10.160 --> 00:04:16.680
It knows your browser version, uh there's OS, there's fonts, there's screen size, and even time zone.

s58
00:04:16.680 --> 00:04:18.920
The website also sees a familiar visitor.

s59
00:04:18.920 --> 00:04:21.720
Maybe you visit the site before, maybe you've got some cookies.

s60
00:04:21.720 --> 00:04:26.600
You've logged in or you've booked too many trips on the same account.

s61
00:04:26.600 --> 00:04:28.320
There's a familiar pattern as well.

s62
00:04:28.320 --> 00:04:33.120
Each request will go through a net You've got a network reputation.

s63
00:04:33.120 --> 00:04:37.280
And all the navigation, you are clearly a human.

s64
00:04:37.280 --> 00:04:45.520
And now the problem comes when you try and put that same version of Chromium into a data center.

s65
00:04:45.720 --> 00:04:48.800
And that's when we scale beyond the laptop.

s66
00:04:48.800 --> 00:04:50.320
We need to replicate it.

s67
00:04:50.320 --> 00:04:56.960
For companies like Ramp, they are not going to have thousands of laptops open running a different human version of Chromium.

s68
00:04:56.960 --> 00:05:00.720
They're not going to have one person with a cron job running this either.

s69
00:05:00.720 --> 00:05:05.440
They need scaled infra that lets them get to sites reliably.

s70
00:05:05.440 --> 00:05:10.600
The problems start to appear though when you put that same Chromium in the data center.

s71
00:05:10.600 --> 00:05:13.720
Um let's say we do this.

s72
00:05:13.720 --> 00:05:15.760
Let's say we've put that in.

s73
00:05:15.760 --> 00:05:22.919
The problem now is when we launch a called out browser, that headless browser in an an an EC2 instance somewhere.

s74
00:05:22.919 --> 00:05:26.200
Every single time we launch it, it's going to have a different fingerprint.

s75
00:05:26.200 --> 00:05:27.840
It's going to have fresh cookies.

s76
00:05:27.840 --> 00:05:29.640
You may need to log in again.

s77
00:05:29.640 --> 00:05:31.200
And proxies.

s78
00:05:31.200 --> 00:05:39.280
It's going to clear indicator that you are coming from a data center instead of a residential IP.

s79
00:05:39.280 --> 00:05:47.840
And sure, you could trick the website by using a proxy service and changing your proxy.

s80
00:05:47.840 --> 00:05:59.280
And that means is you might not be presented as many captures or you can fake your location from that data center, but that still doesn't change the underlying problems with Chromium.

s81
00:05:59.280 --> 00:06:02.680
You're using that same Chromium on a laptop.

s82
00:06:03.480 --> 00:06:13.480
And if we just step one step down and go a little bit deeper and think about what makes Chromium so good is if you look at the browser process, right?

s83
00:06:13.480 --> 00:06:14.840
Inside you have a page engine.

s84
00:06:14.840 --> 00:06:17.000
This is a very simplified version.

s85
00:06:17.000 --> 00:06:22.840
And where it renders the content and it has all the HTML, JavaScript.

s86
00:06:22.840 --> 00:06:29.919
Um then you have your network and if you ever like inspected before you go on a network tab and you can see all the requests coming in and out.

s87
00:06:29.919 --> 00:06:32.640
And you have your device and graphics.

s88
00:06:32.640 --> 00:06:39.400
The engine is so great that they can make a change every 2 weeks, which makes it terrible for us as a company trying to automate the web.

s89
00:06:39.680 --> 00:06:41.800
So we forked it.

s90
00:06:41.800 --> 00:06:46.600
And I could go on forever on how many changes we made to the Chromium binary.

s91
00:06:46.600 --> 00:06:52.040
Um but we forked it and came up with a verified browser that we run in the data center.

s92
00:06:52.040 --> 00:06:56.520
And what we did with three things I'm going to share now is we first removed the automation flag.

s93
00:06:56.520 --> 00:06:57.600
An obvious one, right?

s94
00:06:57.600 --> 00:07:08.360
When you're driving a headless browser um through an automation, you will pass this webdriver equals to true and we just swap that to false everywhere.

s95
00:07:08.360 --> 00:07:10.760
Then we aligned on the identity.

s96
00:07:10.760 --> 00:07:14.000
Instead of now being called headless Chrome, we're calling it Chrome.

s97
00:07:14.000 --> 00:07:24.160
Now these may seem like simple fixes, but because how complicated Chromium is, this goes deep into the code and it's in so many different places that we need to find.

s98
00:07:24.160 --> 00:07:25.640
And every 2 weeks is a new change.

s99
00:07:25.640 --> 00:07:27.160
That's why we have our own version.

s100
00:07:27.160 --> 00:07:28.560
We also [clears throat] keep the process alive.

s101
00:07:28.560 --> 00:07:39.960
What I mean by that is a lot of scraping jobs or automation jobs or workflows that people are doing as developers locally or even in the hosted infra will start and stop.

s102
00:07:39.960 --> 00:07:43.880
They kill the browser and they kill a Chromium instantly as soon as the task is done.

s103
00:07:43.880 --> 00:07:48.720
Instead, we leave chromium running and close the windows out.

s104
00:07:49.360 --> 00:07:52.120
So, why don't we put it to the test?

s105
00:07:52.120 --> 00:07:57.160
We've got a snippet here and I'm going to ask Aric, can we launch a browser?

s106
00:07:58.600 --> 00:08:00.520
Okay.

s107
00:08:00.520 --> 00:08:03.800
And bear in mind the Wi-Fi has been terrible today.

s108
00:08:03.800 --> 00:08:12.320
So, it's launch is going to take a second to render and we are now looking at an iframe of a live view of a hosted browser on BrowserStack.

s109
00:08:12.320 --> 00:08:12.800
That's great.

s110
00:08:12.800 --> 00:08:13.919
We can go to Rome.

s111
00:08:13.919 --> 00:08:16.440
Okay, nothing special.

s112
00:08:16.440 --> 00:08:18.120
Let's stop that.

s113
00:08:18.120 --> 00:08:20.160
And let's go to the next slide.

s114
00:08:20.160 --> 00:08:22.800
Why don't we launch 100 browsers?

s115
00:08:22.800 --> 00:08:26.400
Do the exact same thing but we'll launch them concurrently.

s116
00:08:26.960 --> 00:08:28.080
Okay.

s117
00:08:28.080 --> 00:08:30.200
And to the next slide.

s118
00:08:30.200 --> 00:08:39.919
Um now what's going to happen in the background is I'm calling the same thing with a bunch of different websites and you will be able to Aric scroll through

s119
00:08:39.919 --> 00:08:43.280
the um some of the sites and we're not automating at the moment.

s120
00:08:43.280 --> 00:08:46.240
We're just going and visiting the sites as 100 browsers.

s121
00:08:46.240 --> 00:08:48.600
Now I'm going to try something for the next minute.

s122
00:08:48.600 --> 00:08:53.560
Um I set this up very quickly and the Wi-Fi is a little sucks a little bit.

s123
00:08:53.560 --> 00:08:56.080
And it's all through an Engrok portal on my laptop.

s124
00:08:56.080 --> 00:08:58.720
So, if it doesn't work, uh we'll move on.

s125
00:08:58.720 --> 00:09:06.920
Um I want everyone to scan this QR code and you will be given a random website out of one of these 100.

s126
00:09:06.920 --> 00:09:09.640
Um someone tell me if they can see a browser.

s127
00:09:09.640 --> 00:09:15.640
I'm trying to prove to you that these browsers in our cloud and you have access.

s128
00:09:16.040 --> 00:09:17.760
Someone shout out when they're when it's loaded.

s129
00:09:17.760 --> 00:09:20.880
Hopefully the demo gods are with us.

s130
00:09:22.880 --> 00:09:23.920
Yeah, you got a browser?

s131
00:09:23.920 --> 00:09:25.600
Awesome.

s132
00:09:25.600 --> 00:09:26.040
Yeah?

s133
00:09:26.040 --> 00:09:27.480
Got another one?

s134
00:09:27.480 --> 00:09:28.120
Great.

s135
00:09:28.120 --> 00:09:29.320
Cool.

s136
00:09:29.320 --> 00:09:30.760
Sweet.

s137
00:09:30.760 --> 00:09:31.520
Nice.

s138
00:09:31.520 --> 00:09:33.440
You can actually interact with this as well.

s139
00:09:33.440 --> 00:09:37.560
Um through the iframe you can click, control, move and do things.

s140
00:09:37.560 --> 00:09:39.240
And that takes me on to the next thing.

s141
00:09:39.240 --> 00:09:40.520
I'm going to uh stop that now.

s142
00:09:40.520 --> 00:09:41.800
Thanks, Eric.

s143
00:09:41.800 --> 00:09:45.480
Um Um let's take me on to the next thing is control.

s144
00:09:45.480 --> 00:09:48.520
How do we control these browsers?

s145
00:09:48.520 --> 00:09:53.480
And just to sum this up, Ramp now can deploy thousands of browser agents.

s146
00:09:53.480 --> 00:10:03.000
They have saved north of 30,000 manual hours in data entry that is done that used to be done by humans that is now done by agents, and their scale has gone up 5x.

s147
00:10:03.000 --> 00:10:13.480
So, just by switching from humans to agents, they were able to accelerate their business and save a bunch of those hours, which now they can dedicate to other initiatives across Ramp.

s148
00:10:13.480 --> 00:10:16.400
When we talk about Bill, so Ramp scale and access.

s149
00:10:16.400 --> 00:10:17.720
Now, it's about control.

s150
00:10:17.720 --> 00:10:19.560
Everyone's familiar with Bill.

s151
00:10:19.560 --> 00:10:24.480
Um Bill, you know, processes a ton of payments across thousands of different vendors.

s152
00:10:24.480 --> 00:10:31.840
When you think about using agents to do that, the biggest challenge is well, every portal Next slide, please.

s153
00:10:31.840 --> 00:10:33.240
Every portal is different.

s154
00:10:33.240 --> 00:10:34.960
The checkout flow is different.

s155
00:10:34.960 --> 00:10:37.480
The process to fill out the payment is different.

s156
00:10:37.480 --> 00:10:39.280
The UI changes.

s157
00:10:39.280 --> 00:10:44.360
So, in reality, the way Bill thinks about this is it's impossible to automate with agents.

s158
00:10:44.360 --> 00:10:50.480
That's why we need a team of humans to go click through portals and do this on behalf of our customers.

s159
00:10:50.480 --> 00:10:55.000
Um and again, the answer to this is an agent that can use a browser.

s160
00:10:55.000 --> 00:11:04.720
Um and so, for Bill, the notion was how can we build a single agent that can interact and act upon thousands of different portals.

s161
00:11:04.720 --> 00:11:08.120
One agent, thousands of different portals.

s162
00:11:08.120 --> 00:11:10.960
Um that brings us to Stage Hand.

s163
00:11:10.960 --> 00:11:16.280
Stage Hand is our open-source SDK that lets you control a browser.

s164
00:11:16.280 --> 00:11:20.552
Think about Playwright, but built way on top of it.

s165
00:11:20.552 --> 00:11:20.800
[snorts]

s166
00:11:20.800 --> 00:11:23.839
Your agent will sit and use Stage Hand to control the browser.

s167
00:11:23.839 --> 00:11:25.360
I'm going to show you a little bit how.

s168
00:11:25.360 --> 00:11:27.760
Go to the next slide.

s169
00:11:28.400 --> 00:11:31.600
I want to start with understanding again what is wrong with Playwright.

s170
00:11:31.600 --> 00:11:32.560
Playwright's great.

s171
00:11:32.560 --> 00:11:39.960
I first learned how to code by using Selenium and beautiful soup and writing Playwright scripts by hand.

s172
00:11:39.960 --> 00:11:41.920
This was before AI.

s173
00:11:41.920 --> 00:11:44.120
Now, I can't remember last time I coded.

s174
00:11:44.120 --> 00:11:57.800
And so, with Playwright, what the problem is is as soon as that website changes, the button moves, the text box changes like from first name to just name.

s175
00:11:57.800 --> 00:12:05.760
In the in the back, like when you're looking for that XPath in Playwright or you're trying to click on an element or a selector, your script's also going to break.

s176
00:12:05.760 --> 00:12:16.800
And now, that's fine if you're doing one-off tasks and you're running everything locally, but when you try to scale like a company like Ramp or Bill, you need reliability every single time.

s177
00:12:16.800 --> 00:12:23.640
The reason we like built Stage Hand was because we wanted to give the ability to agents to navigate the web and control them.

s178
00:12:23.640 --> 00:12:25.680
Next slide.

s179
00:12:25.680 --> 00:12:26.880
So, how does it actually know?

s180
00:12:26.880 --> 00:12:28.160
What's different?

s181
00:12:28.160 --> 00:12:31.920
Well, if you play play Sorry.

s182
00:12:31.920 --> 00:12:32.920
What's different?

s183
00:12:32.920 --> 00:12:36.880
So, Stage Hand actually works a little bit like Playwright in some sense.

s184
00:12:36.880 --> 00:12:44.160
You can use deterministic rules and go page.click or everything you'd see in a Playwright script.

s185
00:12:44.160 --> 00:12:51.960
But, when it gets a little bit more complex, you can actually send natural language prompts to go and do actions on the site.

s186
00:12:51.960 --> 00:13:03.360
Pay page.click or page.act, go fill out this form, or enter my name, or enter password, find the red button.

s187
00:13:03.360 --> 00:13:10.880
Stage Hand will then be able to take the DOM and accessibility tree and everything it sees on the website, pass it to an LM, pass it to an agent,

s188
00:13:10.880 --> 00:13:14.200
and understand where to click and go and click it.

s189
00:13:14.200 --> 00:13:22.960
Now, you may be thinking it might get expensive, but that's where we have our excellent engineers behind Stage Hand.

s190
00:13:23.440 --> 00:13:27.680
And to demonstrate this quickly, Eric, if you could hit that compare button.

s191
00:13:27.680 --> 00:13:33.080
If you were to use an agent with playwright, you'd be sending everything on the left.

s192
00:13:33.080 --> 00:13:35.880
Uh, that's 122k tokens.

s193
00:13:35.880 --> 00:13:37.560
And that's a raw HTML.

s194
00:13:37.560 --> 00:13:39.160
And you ask your agent, "Where do I click?

s195
00:13:39.160 --> 00:13:40.360
Where do I go to?"

s196
00:13:40.360 --> 00:13:49.640
What Stage Hand does before it hits that agent is it shrinks the DOM to a really cool accessibility tree, where we're only sending like 4,000 tokens for this same example.

s197
00:13:49.640 --> 00:13:51.560
And it'll give direct selectors.

s198
00:13:51.560 --> 00:13:53.440
So, Stage Hand will go, "Click that."

s199
00:13:53.440 --> 00:14:00.960
Save a lot of money on um the amount of tokens that you're sending, but also reduce the context and get quicker results.

s200
00:14:00.960 --> 00:14:11.000
And if we go next, another reason why we use um Stage Hand and with Browser Base is because there's fewer net There's fewer round trips.

s201
00:14:11.000 --> 00:14:13.320
Let's say we are currently controlling a browser in a data center.

s202
00:14:13.320 --> 00:14:14.280
We've got to talk back.

s203
00:14:14.280 --> 00:14:17.000
We send the HTML back and forth every single time.

s204
00:14:17.000 --> 00:14:22.480
What we do at Browser Base is we put Stage Hand next to the browser.

s205
00:14:22.520 --> 00:14:27.200
And that What that means is Stage Hand is a Chrome extension on a hosted browser.

s206
00:14:27.200 --> 00:14:37.440
So, those actions become a whole lot quicker, and there's no round trip latency from those actions and those like instructions from the agent of where to click and where to go next.

s207
00:14:37.440 --> 00:14:48.280
And so, when you bring these two things together, you need scale from the browsers, Stage Hand gives you the control, and we're going to show you an example that use both.

s208
00:14:52.600 --> 00:14:53.880
This is our last example.

s209
00:14:53.880 --> 00:15:01.000
So, with Ramp, we saw that browser agents solve the issue of scale and access to heavily protected sites.

s210
00:15:01.000 --> 00:15:03.520
With Bill, it was adaptive automation.

s211
00:15:03.520 --> 00:15:13.040
How can browser agents enable you to interact with thousands of of different portals with ha- without having to manage thousands of different playwright scripts.

s212
00:15:13.040 --> 00:15:15.800
Now, with Stripe, everyone's familiar with Stripe in this room.

s213
00:15:15.800 --> 00:15:22.840
Stripe onboards thousands, tens of thousands of merchants on a monthly, quarterly, quarterly, yearly basis.

s214
00:15:22.840 --> 00:15:32.080
And again, they knew that the only way to access the information to verify that these businesses were real and they were the right business to work with is through a browser.

s215
00:15:32.080 --> 00:15:34.600
And this was before the age of browser agents.

s216
00:15:34.600 --> 00:15:41.600
So, they had a team of humans going on and going to Secretary of State portals and using the browser to get that information.

s217
00:15:41.600 --> 00:15:50.320
So, a quick switch is being able to use the browser agent to go and automate this KYC verification.

s218
00:15:51.760 --> 00:15:55.360
Um let's dig a bit more into Stage Hand here.

s219
00:15:55.360 --> 00:16:01.880
Um so, we have instead of using a direct agent like Bill, you could use act, extract, and observe.

s220
00:16:01.880 --> 00:16:02.206
Those

s221
00:16:02.206 --> 00:16:02.240
[snorts]

s222
00:16:02.240 --> 00:16:08.760
are three key primitives that Stage Hand we give we expose to you as developer.

s223
00:16:08.760 --> 00:16:12.600
Um one is observe, find the learn more button.

s224
00:16:12.600 --> 00:16:13.720
Um this is taking action.

s225
00:16:13.720 --> 00:16:14.800
Next slide.

s226
00:16:14.800 --> 00:16:16.440
Act, click the login button.

s227
00:16:16.440 --> 00:16:17.720
Next slide.

s228
00:16:17.720 --> 00:16:19.400
And then the extract.

s229
00:16:19.400 --> 00:16:27.960
Now, this is my favorite one because you can extract anything into a Zod schema, which is great for engineers because we're taking really messy unstructured data on the web

s230
00:16:27.960 --> 00:16:33.520
and converting it to a really easy-to-use data and readable and send it to an agent.

s231
00:16:33.520 --> 00:16:35.240
Next slide.

s232
00:16:35.240 --> 00:16:37.640
Now, I'm going to show a couple more demos.

s233
00:16:37.640 --> 00:16:43.480
We're going to start with one company website and we're going to go to Chipotle and find out what it sells using Stage Hand.

s234
00:16:43.480 --> 00:16:45.320
Um and next slide then.

s235
00:16:45.320 --> 00:16:45.960
Okay.

s236
00:16:45.960 --> 00:16:55.600
So, this browser will now spin up on a hosted browser and browse page and it's going to use Stage Hand um extract to extract it.

s237
00:16:58.000 --> 00:16:58.600
And there we go.

s238
00:16:58.600 --> 00:17:00.880
We've got Chipotle Mexican Grill.

s239
00:17:00.880 --> 00:17:02.320
Um it's selling some lime chips.

s240
00:17:02.320 --> 00:17:03.200
Cool.

s241
00:17:03.200 --> 00:17:05.680
Uh if we press stop.

s242
00:17:06.439 --> 00:17:07.520
Now, this is where it's going to get fun.

s243
00:17:07.520 --> 00:17:09.880
Let's go for the next one.

s244
00:17:09.880 --> 00:17:13.480
And now we're going to research four different sources for Chipotle.

s245
00:17:13.480 --> 00:17:19.720
We're going to go to their website, investor page, SEC filing, and New York Stock Exchange listing.

s246
00:17:19.720 --> 00:17:20.560
Okay?

s247
00:17:20.560 --> 00:17:25.160
So, we're running and all right, you can also scroll once they load.

s248
00:17:28.079 --> 00:17:28.640
Okay, great.

s249
00:17:28.640 --> 00:17:36.600
So, we've got the SEC filing down at the bottom, and we've got New York Stock Exchange, and up top I think we've got the website that will appear in a second.

s250
00:17:36.600 --> 00:17:39.160
But, there we go, they got investor relations, as well.

s251
00:17:39.160 --> 00:17:41.760
So, these are actually happening quicker than they are on the screen.

s252
00:17:41.760 --> 00:17:43.760
This is already being happened in in the back.

s253
00:17:43.760 --> 00:17:46.040
It's just the live view that's streaming back to us.

s254
00:17:46.040 --> 00:17:49.920
And obviously, when you're running so many browsers at scale, you're not always going to be checking the live view.

s255
00:17:49.920 --> 00:17:51.640
This is more for development.

s256
00:17:51.640 --> 00:17:52.040
Okay, cool.

s257
00:17:52.040 --> 00:17:54.360
Let's stop that.

s258
00:17:54.520 --> 00:17:56.960
And let's go to the next one.

s259
00:17:56.960 --> 00:18:00.520
Now, we're going to do 20 companies for the same three sources.

s260
00:18:00.520 --> 00:18:02.080
And we're going to hit run.

s261
00:18:02.080 --> 00:18:06.000
And bear in mind, this is the same code that's running on every single website.

s262
00:18:06.000 --> 00:18:07.800
Then, we go to the next slide.

s263
00:18:07.800 --> 00:18:10.880
And we can see Chipotle will come up at the top.

s264
00:18:10.880 --> 00:18:12.680
I'm getting hungry now.

s265
00:18:12.680 --> 00:18:14.960
Um JP Morgan.

s266
00:18:14.960 --> 00:18:15.720
Um there we go.

s267
00:18:15.720 --> 00:18:16.800
All right, keep on scrolling.

s268
00:18:16.800 --> 00:18:17.600
Let's see what else is there.

s269
00:18:17.600 --> 00:18:19.960
Golden Sachs.

s270
00:18:20.760 --> 00:18:30.480
Going and doing the same tasks across every single site without interruption, unblocked, all using Stage Hand as well.

s271
00:18:30.480 --> 00:18:36.240
And it's really cool cuz it's a verified browser that I mentioned at the very start, which means that you don't get hit with as many CAPTCHAs.

s272
00:18:36.240 --> 00:18:38.160
And if you do, we solve them.

s273
00:18:38.160 --> 00:18:42.600
And the Stage Hand allows us to navigate without anyone looking at this.

s274
00:18:42.600 --> 00:18:43.080
Okay?

s275
00:18:43.080 --> 00:18:44.520
And we can stop there.

s276
00:18:44.520 --> 00:18:46.840
And I think we can see some results on the right-hand side.

s277
00:18:46.840 --> 00:18:49.160
Um next slide.

s278
00:18:49.160 --> 00:18:49.760
Okay, cool.

s279
00:18:49.760 --> 00:18:51.360
We've got some of the results here.

s280
00:18:51.360 --> 00:18:52.760
Um SEC filing data.

s281
00:18:52.760 --> 00:18:55.040
Keep on scrolling.

s282
00:18:57.680 --> 00:19:00.760
I honestly have no idea what the SEC stuff means.

s283
00:19:00.760 --> 00:19:02.360
I'm not a finance guy.

s284
00:19:02.360 --> 00:19:03.640
But, hopefully it's useful.

s285
00:19:03.640 --> 00:19:04.400
Cool.

s286
00:19:04.400 --> 00:19:06.240
Um let's go to the next slide.

s287
00:19:06.240 --> 00:19:10.040
And so, that SEC template I was something I built a while ago.

s288
00:19:10.040 --> 00:19:14.880
If you want access to that particular, just the SEC one, you can do.

s289
00:19:14.880 --> 00:19:22.160
Um, but we also have if you want to get started with anything browser-based or anything I showed, we have if you go to our website, we have a copy prompt

s290
00:19:22.160 --> 00:19:24.680
which you just send it to your agent and that'll do a lot of the work as well.

s291
00:19:24.680 --> 00:19:26.160
Uh, next slide.

s292
00:19:26.160 --> 00:19:26.800
Okay.

s293
00:19:26.800 --> 00:19:27.560
Thank you so much.

s294
00:19:27.560 --> 00:19:29.843
That's our talk.

s295
00:19:29.843 --> 00:19:31.843
[applause]
