1:00Hello, everyone. Good morning, good afternoon, good evening, wherever you're at. Welcome to our webinar today on, what did I call this? From source to dashboard, real pipelines with the flights. This is kind of like our part two of our webinars on flights, which is a
1:22feature we launched, I don't know, was it two weeks ago now? A little under two weeks, which allows you to run some Python and get data into MotherDuck and do other things with it. We'll dive into that in a little bit. Just a couple housekeeping intro items. We're recording this and we'll send out a link to anyone who registered as well as we'll put
1:44it on our website afterwards as well. And if you have any questions, feel free to put them in the chat now or at the end, we'll have some dedicated Q&A time at the end. I'd love to hear, have you tried out flights? What's maybe the most interesting source that you've pulled the data from? Or maybe where are you looking to pull data from using flights?
2:08Yeah, with that, let me, like I said, I'll introduce myself. I'm Gerald. I'm on the marketing team here at MotherDuck and I'll let Jacob introduce himself. Hey, everybody. I'm Jacob. I am on the DevRel side here at MotherDuck. I'm super, super pumped to be here and to show off how all this works.
2:29Awesome. With that, before we do kind of the demo part of it, I'm just going to do a quick introduction into MotherDuck. I feel like I haven't done this in a while on our webinars. So for those of you who are new, I'm just going to tell you how we got to where we are with MotherDuck. And really to get there, we need to go back in time a little bit to,
2:49I don't even know, early 20, I don't know, 20 years ago now, it feels like, maybe even a little less. We had the big data era. We had things like Hadoop and Spark, which allowed you to query massive amounts of data, which was great. But really at the time you needed to do that, you needed to take a query and split it across multiple workers and multiple nodes and shuffle
3:14and move data across the network and bring stuff, lots of round trips around the cloud and back, which was great for the time, but it didn't, things have changed. And even with that, when you have all of these things on this slide, that leads to things like just high costs, high latency, and really complex things to manage in terms of infrastructure.
3:36And now even to throw on top of that, we have AI. Agents do not query like humans do. It can be super spiky. You can ask a question from your agent and it can spin off and run dozens, maybe even hundreds of queries on its own, just exploring data, asking questions, trying to figure out how to get you the answer to your question. So that's a whole new paradigm
3:59that's even new, it's come out about just in that, really like in the past year or so, it's kind of come to a head. So that brings us to DuckDB. So DuckDB is an open source OLAP database that MotherDuck is built on top of, built by the folks at Duck Labs, formerly known as DuckDB Labs,
4:19now Duck Labs, based out of Amsterdam, same place where Python was invented. They also came up with DuckDB. Those Dutch people are doing great when it comes to data tools. So DuckDB, it is lightweight and embeddable. It runs locally. It can also run, you know, we run it on servers. It'll also run in
4:38the browser. And so you have really fast zero latency queries. It allows for a very powerful vertical scaling. It can, you know, it can split work across every core, enabling you to, you know, saturate your CPU and kind of, you know, use the fullest of these great new modern hardware that we
4:58have. And, you know, kind of last on that too, it has, you know, this kind of vectorized execution that, like I said, saturates your entire CPU, breaks things into chunks and paralyzes things for you. And so, like I said, MotherDuck is building a cloud data warehouse on top of DuckDB. DuckDB is inherently kind of a local single player thing. And we're building, you know,
5:21what would it look like if you built a data warehouse on DuckDB? You need, you know, you need users, you need some redundancy, you need security, you need lots of things. And so that's where we come to MotherDuck. You know, we have a serverless compute platform, so zero infrastructure to manage. It spins up extremely fast because of that DuckDB, because it is so lightweight.
5:44We enable things like dual execution, where you can seamlessly split work between client and the cloud, querying data wherever it lives. We also have what we call a hypertenant architecture, which allows you to scale your compute independently, whether it's by user, by a service account, or even by agent now. Your agents can, you know, run freely and do what they
6:05want, and you'll not see runaway costs. It will also not kind of, you're not competing for resources with other humans or with agents. All the data is also isolated, as well as the compute. And then we have now, again, these kind of agent native tools. First started for us back in December with our MCP server, which just allows you to query data in MotherDuck with natural
6:28language. And then soon after that came Dives, which is our BI kind of tool, allows you to visualize data. And then recently, again, with Flights, which we're talking about today, which is where you can now, instead of, you know, just visualizing it, now you can actually even use your favorite AI agent, whether it's Cloud or Codex or whatnot, to build a pipeline to bring data
6:52into MotherDuck and to do, and you know, to kick off transformations with it, or even send, you know, alerts or notifications as well. And with all that, it allows you really just to deploy, you know, applications, whether it's, you know, internal BI or customer-facing dashboards, really, you know, in minutes. Nowadays with AI, it's very fast for you to, you know, take a prompt and give it to your AI, and it can, you know, write an ingestion pipeline and also write some
7:17sort of visualization really, really quickly. So with that, I think that was all of my slides. Let me hand over to Jacob to tell you more about Flights, and then we'll do a demo. Amazing. Thank you, Gerald. I'm going to throw, so to talk about Flights, I think the first thing we need to do is talk about our MCP. And so I'm going to talk a little bit about the MCP.
7:39For those of you who aren't familiar, MCP is basically just an API, but it's designed for your agent to work with. And so I'm just going to show you the config kind of behind the scenes just really quickly before we get into the fun part, which is our MCP here in MotherDuck. You can see it here. It's very easy to add to your Claude. You just type in MotherDuck, and you click Add.
8:01It authorizes through OAuth. And there's a handful of tools in here. And so the ones I'm just going to show you quickly are these. There's GetFlight, GetFlightGuide, GetFlightRunLogs. There's a few others, ListFlights, ListFlightVersions, and so on. So the thing that I am going to call out,
8:24I guess, is just that it's very easy to get started. So I have this in here. This is connected to my Claude AI. Claude shares a unified management pane between Claude Desktop and Claude Web. You can do the workflow I'm about to do on your Claude Web here. I'm just going to do it on Claude Code.
8:47So I'm going to pop in here. Let me find my screen share here. Share screen. Where did this go? Got to find my terminal. Give me one second here. Not that one.
9:07Oh, my God. Okay. That's the wrong one. That's the wrong one. Clean up your tabs. No, it's not even a tab. I'm trying to share Claude Code, and it's not showing up. Oh, I think I might know why. This is a Safari thing being silly. Let's see.
9:33Give me one second here. We're doing all this live, so pray to the demo gods that Claude will not have any more issues today. Oh, my God. There it is. Okay. We made it. Jeez. There we go. I was trying to do my testing earlier today, and that was great. Claude was down this morning. All right. So I'm going to copy paste my prompt, and then we'll just talk about
9:54it a little bit here. Okay. So what a flight is, is it lets us build pipelines in Python and run them in MotherDuck. And so I'm giving it this prompt. I'm saying, hey, let's build MotherDuck flights. Actually, I'm going to pause this real quick. Use subagents to do this in parallel. I'm just going to give it another hint there. Okay. All right. Uh-oh. Okay. Our API failed, but it looks like it's working. Okay. Good.
10:19All right. So the thing I'm thinking about is there's a couple of good open datasets I want to take a look at. The first one is the New York City Complaints 311. That's all sourced very easily here. I tell it where to go find it, and then I say, hey, let's get the daily New York
10:39City weather from OpenMeteo, which is weather. And so I'm saying get those things. Let's just run both. Let's read the logs. Make sure there's no errors on them in those logs. And then once that's finished, let's build a dive. A dive is a data visualization that will look at the data, and we can actually see, you know, which type of complaints in New
11:04York City data correlate to weather, right? So we're taking two different datasets, putting them together, and we're going to take a look at them. So while this runs, I am going to stop sharing and go back to the MotherDuck UI and kind of show you what the flights UI looks like. So I'm going to, hopefully, this time, share it in a little more seamless way. Yeah, here we go. Perfect. All right.
11:25Cool, cool, cool. Oh, no, there's a cloud out of show now. Let's see. No, okay, we're still seeing errors. Okay, well, we'll see how this goes. I've ran this a bunch already, so worst case scenario, I can show you a previous one. So you can see I have some flights in here. We actually should see some new ones start popping in as it looks at it. I'm not going to steal my own thunder and
11:47we'll look at something different than what I have here. Just as a quick example, so here is a flight. So a flight has four parts. So here's our logs, right? We want to know, can we see, how does this work? We can see previous runs, right? I can see what my Python is here.
12:07And then I can, you know, see my config. I don't have any config set here. This would be things like, you know, different variables you want to set on the run, not your secrets. Your secrets are stored inside of the secret manager in MotherDuck. And then our requirements, right? So I'm just saying DuckDB. And of course we can run this now. It's interesting. This might actually fail because this is not pinned. I believe there was a new DuckDB release, but let's find out.
12:32All right, great. So it failed. That's actually what I expected. Yep. Okay, great. So let's fix this, right? Edit. Let's go to my requirements. All right, save. And run it. All right, great. So let's just make sure this works. For those of you who have done a little bit of automation using, let's say, GitHub Actions, this should feel quite familiar.
12:58Oh, my God. I thought I hit it twice. Embarrassing. Embarrassing. Save. Let's try that one more time. This time with feeling. Let's run it. Okay. Let's see. Come on, logs.
13:19Let's go. Cool, cool. All right, great. So it printed hello world, right? Very basic. Of course, everything that we can do inside of, we're not limited just to Python in here. This is actually a full-blown Linux box behind the scenes. And so just as a quick show, I'll show you this one. This is one that I have an NBA data set that I want to load. It looks every night. It
13:43checks to see if there's new data. So you can see this actually is running on a cron. The other ones were just running manually. So those should run automatically for me. And you can see it succeeded. You know, this is great. But what I want to show you that's interesting is in the main. py is that we are actually going to clone some code into here. And then we're just going
14:07to use the Python subprocess to run bash commands. And so for those of you who are a little bit more advanced in Python, this is not just a Python runtime. This is also something where you can take code from your own repos, put it in here, and then run, run, run it, which makes a lot of sense and is very, very powerful. But it's not the main point of the repo today or what we're doing today. All right. So we're seeing some errors here. This is our current work that it
14:32is working on. So you'll see that it has an error in this, in Claude. Oh, we can see. Great. We can see Claude is doing stuff as we're here. This is kind of cool, right? Claude is doing some work. Let's see. Can we see changes in this? I think we can see changes in versions somewhere in here.
14:56There's a tab at the top where it says Rows. Rows versions. Thank you. Great. We can see. Let's see here. Probably in this create a replace. Here's this one. And then, yeah, yeah, yeah. Fully enumerating the name. It makes sense. So this one is working, and it succeeded. So we got our weather data, and it took about nine
15:18seconds. That's amazing. Let's go back to our flights. Let's go look at, let me refresh this. That one's running. And now we're getting the 311 data. Let's see what's in here. Great. Okay. It's fetching page one. I'm going to actually look and see where this data is coming in,
15:39so we can just query it. Target table. Create a replace table. Target table. Okay. Let's find target table. Flightswebinar. main. nycdaily. Okay. So let's grab that. Let's actually just see what's in here. Okay. Look. Looks like there's data in here. So we're going to just pop into a notebook. Let's just see what's in here. Limit 10.
16:03Cool. So we have data in here even, right? Let's say NYC Webinar. Sweet. So we can see our data. We can do like, I like my favorite function is summarize. I think I should do it like this. Perfect. Let's see what data is in here. Oh, just three columns.
16:28Okay. Complaint type, complaint count, and date. All right. We can probably get more data out of it, but that's all we specified, so that'll be fine for us to do the analysis that we wanted to do here anyway. Okay. Sweet. Sweet, sweet, sweet. So that looks good. Let's go back into
16:45our Clod and see how Clod is doing. Share screen. Windows. Let's see what's going on here. Share screen. Window. This one. All right. How are we doing? The flight weather succeeded, but there's a problem with where it landed. The agent reported
17:09the table at my DB. Yep. But the spec and the existing tables put everything in the flight's webinar database. Yeah. Okay. You put it in the wrong spot. Great. So it's fixing itself. That's pretty funny. Okay. So it's fixing the way that it mapped it. I did notice that. I was curious why it did it that way, but there we go. Okay. So the next thing here is we want to build
17:33something on top of it, which it will do as soon as this is done. Let's go. Let's see what else it did in here. Why did it make the wrong decision? It's always fun to kind of understand why or see why it does these things. I think actually we can go look at, oh, the weather's fine.
17:58Where did my sub-agent go? Confirmed. While the weather sub-agent relocates his table. Oh, okay. We want to look at this one. Here we go. Here's our weather sub-agent. Let's see what's happening here. Table now exists. Yep. Okay. 365 rows. Great. Amazing. All right. So let's go back to
18:21our main one. Pop over. Yep. Okay. Succeeded. Great. So now we get to build a dive. And so the dive is going to take those two datasets and it's going to combine them together, which is very neat. Let's make sure our weather data is now in the right spot. Let me pop back over. Stop sharing. Maybe I should have used Claude Web so I could share
18:46my tabs more easily. Party foul. Let's see here. Databases. Flight webinars is what it's called. Let's see what's in here. Daily. Weather daily. Perfect.
19:08Average temp, max, min. Okay. Interesting. Precipitation in millimeters. What else is in here? Oh, that's it. Okay. That should work. We just want a temperature, really. How is it? Is it coming across in Fahrenheit also? Okay. Great. Cool. So we have that. So we have that. Let's just look at it.
19:47Sweet. All right. And we've got one year of data. Great. So that matches this, which actually has more data than we have here, but that's totally fine. Okay. And information. Amazing. Okay. Um, let me go back and check on my Claude over here and see where it's
20:07working. The dive is building. Amazing. Um, actually, let's go look at it. Because Yeah, but I think we saw what was the prompt that you gave it for building? Oh, sure. I'll try. I'll put it in the chat. Um, here. Let me go back. It was very simple. We'll walk through it real quickly here though.
20:33All right. So here's the flight or the flight. So, so far I've just given one prompt and then I told you some agents to make it go faster. Of course, didn't go faster. So, um, we will build a MotherDuck, uh, flights pipeline and a dive end to end with flights webinar database. We want to get the, the NYC three one, one complaints. We want the daily New York city weather. We want to run these until we get no errors. And then we want to build a dive
20:58that joins them on day and hour and answers. Actually this should just say day, um, and the daily scatter plot. So we can kind of see which complaints are associated to the weather. Um, great. It saves. And there we go. Saving the dive now. So we should have a visual on this
21:17really quickly. You just like get all the instructions all at once and they're just going to have, you know, let it one shot it. Yeah. Well, because so, so one thing that's really cool that we do here is that inside of our MCP, you saw that, uh, really briefly that there's a tool called get flights guide. And what that is is basically a skill. And so because we
21:40can put the skill inside the MCP, the first thing it does is basically, Hmm, it says to write a flight. Well, what's a flight? Let me read. There's a, the tool description for get flight dive says, Hey, read this first when you're doing, uh, when you're doing flights. And so it says, okay, here's what a flight is. Here's the interface for it. There's all the MCP tools
21:58for editing them and modifying them. And so that'll just work, um, uh, with, with Claude, which is great. And so, um, uh, that is kind of the, the key part that is happening behind the scenes. There's those tool calls to, to, uh, give itself context to actually build these. Right. Um, okay. Did it give us our thing? Dude, did he done dive safe successfully?
22:24Well, that's great. Except it didn't tell me where the dive is. That's not very nice of it. Usually it just gives me a, like a, he says, here's the link go forth. Okay. Dives. Let's go to all my dives. Just me. Okay. Here we go. June 23rd. Here we go.
22:45Okay. So no correlation, but, but we can see that, um, different types of, uh, complaints are changed with cold. If we filter this, right. So we go to
23:03heat slash hot water. You'll see that these complaints basically, uh, basically correlate really nicely with colder weather. Right. So as the daily mean temperature goes down, you get more of these complaints as it goes up, it basically goes to zero. Right. Um, and then we see, you know, let's see, uh, dead slash dying tree. Okay.
23:30Damaged tree. No, not that one. Okay. This is like the most annoying. Okay. Well, we should fix that. So let's fix, let's fix our, let's fix our visual, right? Like we have our data. That's pretty cool. Um, uh, let's fix it. And I'm not going to make you go through the pain of fixing it. So instead I'm going to see if I can find the previous one that I built on this.
23:52Just me, uh, updated should be this one. Hopefully. Nope. Not that one. Let's go back. This one, here we go. Um, so I built a nice view of this, right? So this is the same data
24:14and what I did instead was, um, uh, I said, Hey, make this look better. Um, so you can see we have, we didn't fix the dropdown. The dropdown still kind of is like this massive list, but we did add a little bit where you could click on the top ones. And now you can kind of see, here's what plumbing looks like. Um, you know, there's some correlation there,
24:36lot here, here's that same heat, hot water one. We see a lot of, a lot of, uh, correlation there. And then we see, you know, all these other ones, vendor enforcement, whatever, these go up as temperature goes up. Makes sense. More people are outside. Um, so these are the ones we're seeing as we, this is kind of the, the main takeaway here, right? Is we can give it one, one prompt. It'll build something for us. This one actually was
25:00two prompts. Sorry. This one that you're seeing right now in front of me was, we told it to do the research. And then I said, Oh, actually we want it hourly. And then, you know, pretend your data scientist and make, make a nice, make a nice view on this. And so, um, that is, that is kind of the, the Genesis here is that flights let us do these types of explorations that maybe we wouldn't
25:21be able to do before, but also gives us all of the power to do this on a recurring basis. And in fact, we're starting to run this for some of our production pipelines internally as well. Um, which is really great. Uh, MotherDuck, especially on the marketing side, where on the marketing side, for example, we've got a bunch of different places, let's say like stream yard, right. That has an API for data. Well, how do you get that data into your system? Certainly your data team is going to put that at the bottom of their list in terms of things that
25:46they're going to integrate into the warehouse. And so, uh, you know, with something like flights, we can now integrate that in more readily and easily get it through their quality gates. And now it's available for us to, um, start looking at. Um, so that's the quick demo. I'm happy to double click on any piece of it. Um, you know, talk, talk a little bit more, uh, obviously take
26:07questions on any of this stuff, you know, talk about how dives and flights fit together. Um, you know, what we're doing at MotherDuck to make this more AI ready, all that type of stuff. Yeah. So if anyone has questions, feel free to pop them in the chat. I have a couple of things I'll have Jacob go over as well. Um, but, um, maybe while questions start to come in,
26:27you want to show, pull up just the, uh, our, our cookbook. Can I show some examples of, uh, of how our kind of dev rel team and how we're already thinking about using, using flights. Uh, and, and I think it can give a good example of an additional real world examples of, um, you know, what flights, uh, what flights can do. And I'll put the link here
26:50in the chat, maybe zoom into, Oh, sir. Okay. Sure. I can do that. Um, okay. So these are, uh, let's go to, let's see. Are these those flights? Here we go. This is our cookbook. Um, and, uh, it has a bunch of things that just, you know, we're thinking about recipes,
27:08you know, this is the prompt, um, tell you how to do something with a flight. Uh, and you know, it's very easy to copy a prompt and then get the thing that you want to work. Um, using this, uh, cookbook as a recipe. So we can see, here's the recipe for my NBA data set that I know and
27:29love. Um, and it tells you, it tells you a little bit about how to do it, which is really cool. Um, okay. I'm going to jump into a question. We've got a first one here. Let's show it. I got it. All right. Let me pop over here. Okay. How does version control work for flights? Is it
27:45done via GitHub? Um, great question. Um, so today version control is just files in S3. Um, you can, of course, like, uh, like I showed earlier, use GitHub as your main kind of code,
28:05code repo, and then, um, uh, just have your flight be really simple. That just goes and fetches it from GitHub, right? We can see here's version. So I can see my, my changes over time. You notice that you notice there's not like a diff viewer, for example, which I'm sure is kind of where you're leading with that question. Um, that's a really good question. Uh, definitely
28:26something that, uh, we are thinking about in terms of how to make that work really nicely. Um, I think there is, uh, some contemplation around like how to make that work. Should it work more like a GitHub action where you'd have something like GitHub? Well, like source control, it's more explicit, or should it work something like a Lambda function where you ship like a
28:47package of code and it just executed? So we're thinking about how to, you know, how to actually make this work for customers, but it's a really good question. Um, so that's how it works today is, uh, you have copies of that as files and you can go, go between them. Um, and I'll add to, um, you know, flights is still kind of, uh, I figured, I figured it's technically in, in preview.
29:09So it is not like fully, fully GA yet. So our, our, uh, you know, our product engineering team is still, you know, um, adding, adding features to it and figuring out and how to make it better and better. Yeah. Yep. Yep. Exactly. Exactly. Question of break here is, is flights available to only work with MotherDuck, not DuckDB? So, uh, flights are, uh, orchestration running on the
29:30MotherDuck platform. If you wanted to, uh, write to DuckDB files, I'm sure you could figure out how to do that. Um, uh, but MotherDuck is kind of like the, you know, best in class way to, to integrate, um, to it. Right. We're giving you just a generic Python runtime. You can kind of put whatever you want inside there. Um, let's see if a flight kicks off multiple sub flights,
29:53do they all run as threads in a single process? No. Okay. Um, okay. Good question, Mark. I'm going to, um, be, I'll be a little specific here. Um, or maybe, maybe if you want to add more clear, more, uh, more context, you can in the chat. Um, each flat, each flight is separate distinct
30:15compute. So if you run, like, you know, if you think about it, like airflow, um, you know, each job can potentially run on its own, like pod or whatever, if you're using like Kubernetes or something. Um, so they do, they do, they're isolated that way. Now, from a MotherDuck connection standpoint, each of them will open their own connection to MotherDuck. Um, and depending on how you set those up, they can connect to the same database or two different databases.
30:40Um, and, uh, yeah. Um, uh, okay. So there's fall up here, which is, it'd be good. It would be good not to pay the runtime overhead. If there's complex flow, I see you're saying like, basically, is this a question more about like, um, uh, if you're kicking off sub sub flights, it's like, you want to do like image caching or something. I don't think we've gotten there yet. Right. So
31:05that you, if you're building something complex to then run something on top of like, uh, how can you not build that multiple times? Um, I don't, I don't know the answer to that off the top of my head. Um, but it, it will split those off, but the billing is, um, is per second. And I think with no cool down time. So you just pay for the what's running while it's running and that's it.
31:28Um, you know, generally what we see is like, uh, when people were running like a dbt job, for example, which is its own dag, um, that'll run on a single flight. But if you're running, you know, multiple complex steps in Python, absolutely. Yes. Um, I hear, I hear the, hear the desire there. Um, but I, I think that the amount of overhead should be fairly minimal
31:52outside of outside of build time for whatever, um, whatever packages you're adding to that, to that build. Hopefully that answers your question. Mark, happy to take more offline. You know, you can always DM me, uh, or put a message in our community Slack. Happy to, happy to chat more about that specific question. Cool. Any other questions? Um, I think one thing
32:14that I'll call out that you did here, Jacob, is that, um, you know, you can, you know, flights can be, you know, you can, you can use just Claude or Codex to write all of the code, or you can, if you don't even want to do that and you just want to write, just write it raw, like you can just do it within the MotherDuck UI and you, you know, you can do it each way Jacob, you know, in his case, he started with the, with the Claude and then he said, Hey, like, I know this is,
32:36you know, I need to pin this. And so you can just go in and manually, uh, edit the code yourself. It is all at the end of the day, it's all, it's all just code and it all is visible for you to see. So, um, it's not like a complete, you know, black box where, you know, the AI is just writing something and you never see what's going on. Uh, I have everything there for you to, uh, to look at.
32:56Yeah. I'll also add that, um, you know, just like we did with dives flights has SQL functions behind it. And so every, every kind of view that you see in here, the logs, the code, the config, the requirements, all of that is retrievable with SQL. So if you're building an application on top of it where you want visibility into your logs or whatever, and you don't want to use MCP, like probably doesn't make sense to use MCP. You know, if you're building like a deterministic
33:20application, um, you can just query that with SQL. You can even run jobs from SQL with the MD run flights, um, command. You give the flight, you give the flight ID to it and it will run, run a flight. Um, basically it feels kind of starting to feel kind of like stored procedures. Um, although it's not in the database, right. It's a separate, separate, um, separate runtime.
33:41But, uh, anyways, there's the point is here that you can like tie these pieces together, uh, in, in the ways that you see fit, right. Um, we give you a UI and an MCP to kind of get started. But reality is for like things that are sufficiently complex, um, you're going to need to, to tie them together probably with SQL here and there. Cool.
34:09Any other crush questions? Uh, Bertrand, this is, you tried both flights and dives, great potential. Uh, I mean, I will, I will speak to this. Richard is someone who has limited technical skills being on the marketing team. Um, and also just because point, yeah, it is great where I don't have to bug our data engineering team to get insights into, you know, how are our
34:33LinkedIn profiles performing or, uh, you know, pulling in and joining data from, you know, different, different sources and then creating, you know, a dashboard for us to use internally where I said like, you know, I, uh, you know, I, I own our webinars and say, I want to pull all of our registration data from our registration platform and combine that with, you know, data that we have in our CRM and, and show how, you know, our webinars are, you know,
34:58contributing to, uh, you know, to our business. That's all easy, very easy for me to do as someone who is, uh, as we call a non-technical duck. Um, and so it is, uh, it is just great for me to be able to just, um, ask lots of questions and get lots of answers and not have to be kind of bottlenecked by our data engineering team. That's right. That's right.
35:22Awesome. If that is, if that's all we will, we will end it here. Um, like I said, if you haven't tried out Dives for Flights, uh, go try them out. They're, they're, uh, you know, it's very easy to get going. Uh, I will give one plug for, for Dives, which we didn't talk much about, uh, here. We talked a little bit about today, but we are, let me find the link for it. Uh, we had a hackathon
35:47that just closed up yesterday, uh, featuring kind of like who can build the coolest or craziest dive. And we have another live stream tomorrow morning. Uh, we'll kind of go through, uh, announcing the winners as well. It's just kind of like what makes a good data visualization,
36:06especially in the day of, of AI and the days where you can build things that are extremely more, you know, interactive, uh, and, and immersive than what you would normally build with just, you know, Tableau or Power BI. So that is my plug for our webinar tomorrow or live stream tomorrow. Uh, if you're interested in, in, you know, seeing some, some interesting dives and getting some
36:29maybe ideas for yourself, uh, you can join us then, uh, with that, if there's no other questions, I will, we'll end it here. Um, like I said, we will send out a link to, to the recording afterwards. Um, and if you want, you can join us on community Slack. If you have additional questions about flights or about MotherDoc in general, we're always here to help. Thank you. Thanks everybody.