Season 1, Episode 267 · The MongoDB Podcast
EP. 267 Full Stack AI: Building with MongoDB, Deno, and Next.js
12 Jun 2025 · 1 hr 1 min
Season 1, Episode 267 · The MongoDB Podcast
12 Jun 2025 · 1 hr 1 min
Is building the backend for your AI application slowing you down? In this episode of the MongoDB Podcast, host Jesse Hall sits down with Srikar and Jimmy, the creators of Daemo AI, a revolutionary tool designed to eliminate the tedious "plumbing" of backend development. Discover how Daemo AI is building upon deprecated MongoDB features like Realm App Services, creating a more powerful and flexible solution for developers. We dive deep into their tech stack, including Next.js, Deno, and Express , and explore why they chose MongoDB for its speed and flexibility in AI applications. Plus, you'll…
Welcome to the Mongo DB Podcast Live. I'm your host today, Jesse Hall, and we have some amazing guests today that are going to share with us their story of their product, why they chose Mongo DB and how their product can help you as a developer. So be sure to also TuneIn and watch every week from wherever you're watching from. If you're on LinkedIn, if you're on YouTube, we stream every week, every Tuesday, every Thursday, sometimes Wednesdays. We're very busy. So watch out for any of the upcoming topics to make sure that you don't miss any anything interesting. All right, so without further ado, let's bring on our guests. Today we have Shakar and Jimmy from Damo AI. How are you guys?
Thank you for coming. Hey, Jess. Hey, Jesse, it's great to be here. Thank you. Thank you. Let's let's, let's just do a quick round of intros. We'll start with Shakar. Give us a the quick 32nd. Who are you? Yeah. I mean, I guess in some sense I'm a mechanical engineer turned computer scientist. I turned to the dark side. I actually was never a really a startup person. I only got into startups in my sophomore year when COVID hit, rather than doing Zoom University, I actually joined one. I was actually the first employee prepared. I did actually, product and customer success, nothing technical, but that's kind of what led me on the journey. And when I came back to school from that, I switched my major from Nike to CSN and met basically Jimmy a year later and I started incubator and we've basically been building cool stuff ever since.
Nice, nice. And Jimmy? Absolutely. So I actually did the the opposite of Shikhar. I switched from computer science to mechanical engineering. My background is a mix of full stack development, 2D3D animation and also a bit of filmmaking. I initially didn't start with startups initially either. I started with mostly filmmaking, just animation projects and all kind of self started projects and stuff that I would do whenever I was done with homework or not. And yeah, Shikhar and I have been building some cool stuff ever since we met.
It's been what, through Shikhar like 3 years now and yeah, we just love building. We're pretty passionate about seeing what newest technology is out there. And then, yeah, that's a. Nice. That's a bit of. A nice nice, great backgrounds. So let's see you have this really cool product Damo AI tell us just a really high level. What is it? Yeah, I think so. I guess in one word, initially it started off as this AI database engineer. You basically hook up your database to the AI agent and you can talk to it in English and it can essentially kind of be your assistant, help you manage, you know, do data modelling, manage your schema, write your queries for you.
And kind of since then, it's actually evolved more into a tool that helps you connect your AI agents to your databases and back end APIs. Because nowadays everyone is trying to make AI agents. And the big problem is how can you have those agents access your database but securely? Because you don't want that thing to have, you know, unlimited access, you know, doing who knows what. So yeah. What's what's what's the harm in just letting the AI do whatever it wants?
I. Mean, you know, you teach me that and you trust, you know, Sam, you know, you give it, give them full access to your whole thing. Who knows what, But you know, I think most people a little bit afraid of that. And we see these horror stories of these, these individuals vibe coding their way through it. And there's so many security holes, right? Oh my. God, you were telling me about there was this customer service bot that promised like people they would get refunds or something and the company could.
The company got sued. So it's crazy nowadays, like people have to be very careful. Yeah. And it actually prompted a whole like question around the legality of whether the bots, you know, the bots were acting on behalf of the company or as an external third party. And if if so, then who you know, who carries to blame and all that stuff. So it's a very interesting, it's the ramifications are very interesting. But I guess the, what we're trying to do here is to avoid even getting to, to the course, right?
That's the, I guess that's the situation for, for, for users to have a safer way to use AI, their ecosystem. Safety is definitely top of mind, especially in the, you know, enterprise landscape. We have to make sure everything is secure. We don't want any any breaches. I shouldn't even say that word on on live. So it's a dirty word. OK, so tell us, tell us a little bit more about demo. Like let's let's start with the tech stack. Like what, what are you using?
What did? What did you use to to build it? Yeah. You know, actually the tech is actually an interesting part of this. I mean basically what we do is like obviously our website and all the web app is written in nxjs as content, but we use a back end express service that we basically deploy onto like some AWS Fargate instances. But really like the core meat of it is how is our agent being essentially able to 1 access your database to essentially dynamically write queries for you and then three, execute those queries in a very secure way and send the data back. So actually the interesting part of the tech is 1 how those queries are getting generated and two, where those queries are getting executed.
So in terms of where those queries are getting generated, we have we use a variety of different open source models out there right now, mostly Quen model we used to do the dynamic regeneration. And the interesting part about the execution is basically we take whatever code the middleware agent writes and we actually put it in like a Dino V8 isolate and they actually execute this thing in V8 isolate. So it's actually the same tech that Super Base and Versailles use.
Other edge functions we're actually using to, you know, power our middleware, which is, you know, super cool. The interesting thing when it comes to that, the reason why we were doing it this way is because the way we look at it is that we're kind of like seeing a paradigm shift in the sense in the way that users interact with databases and with data in general, right? The we from just the AI, the rise of AI applications that we're seeing, it used to be that historically, you know, if users had to ask for data, the developers was in a position to, you know, predefine the queries, build out the interface, hard code, every possible rule, every possible path, you know, before the product even shipped, right?
And of course that's unscalable, but that was the way to do it before. But now we're, we're living almost through a very magical time now in the sense that we have the situation where you have agents that are able to generate those queries dynamically, right, in real time using natural language. So in a way the interface isn't, isn't necessarily always the dashboard anymore, it's intent. And so that changes everything, right? But it can also break everything.
And so the way we see this is that we want to be sort of like the middleware, the portion that make sure that you are able to, you know, have natural language be translated to appropriate queries. And so the way we do the way to do that is to basically run these queries to validate these queries safely and sort of isolate, which is very much in simple terms, it's like a sandbox environment that allows you to that allows us to process these queries.
And basically then and proceed or not proceed depending on the nature of them. So that's kind of the justification behind the technical choices that we made for this product. Nice, nice. So Nextjs, Dino Express, those are good, those good. And then how about for the database? What are you using of? Course Mongo you can never go. Wrong. Can't. Go wrong. So tell us why did you choose Mongo MongoDB? Yeah, I think it came down to two reasons. I think.
One, we had a bad experience at Postgres, like we were building out a, a kind of a HubSpot for Instagrams type of product, the Kanban board and it had to integrate with, you know, Instagram. Obviously we had built up the whole Kanban board. We realized we messed up our schema completely. We couldn't ingest this data from from Facebook, I guess, in the way we architected our schema and we had to like spend like a whole week we architecting things and it was a big waste.
And I think that kind of gave us a bad taste in our mouths. And we're like, OK, well, you know, maybe maybe, you know, no SQL is a is a is an interesting approach, a different approach. I think the other reason is also in terms of like having an agent that can interact with the database. We felt actually it was much easier to start off with the no SQL database because I mean trying to have this agent that's having to strictly for now you can have schema in Mongo DB as well, but having something that has to strictly follow like foreign key relations and all these things, it gets complicated. So they make it simpler.
It just made sense to start off with the no SQL database. I agree. And also in terms of like beyond, you know, the fact that Mongo DB, I think is very well poised for, for AI agents and really much of the, the, the widespread AI applications, right? The fact that Mongo has, you know, vector search support Atlas, the Atlas ecosystem has been great for us. It's been super fast. We've been, we've noticed, especially when it comes to auto scaling clusters and whatnot.
It seems like it's the the people that we're, you know, building for and the people that we're working with, whether they're startup founders or slightly more advanced, they like the ability to ship fast, right? They don't want, they like the fact that a lot of things are abstracted away in a way that's optimal and efficient. And that very much aligns with what we're trying to do very much. It seems like in terms of the simplification and enabling users to get to market, to get to product faster, it just, it just felt like there was no, again, sugar said, you know, jokingly that we couldn't go wrong, but I think it actually, we really couldn't go wrong with that. It just made sense for, for that plus also the fact that the fact that we're, you know, we're building a dev tool for, for developers, it aligned with the, with the dev first mindset that we're seeing in from the, the, the, the, the plethora of resources that Mongo has out there. So it was.
It made it. It made it made our job easier, I must say. That's good. That's good. You went when it comes to, to shipping fast, It's it's much easier in, in Mongo DB for sure. And and that's, that's kind of the, the thing that we're trying to also show developers is that Mongo DB is a general purpose database. It it's especially for startups and for AI applications, it's so easy to move, to move quickly. Not saying that you can't do it with other databases.
You can for sure, but should you like, what's the, what's the easiest way to do it? And, and it really is mono TV, so amazing, amazing. Let's let's, I feel like we should like show something at this point. Is there anything else that we missed before we should get into the demo? Yeah, I think, I think that's basically it. I I would also mention that actually it's funny because we also, we also use Lang chain. We actually use Lang chain for our agents.
Actually it's funny because Mongo DBS the checkpoint system or the Lang chain agent itself, which just makes life easier. I think that's the other thing is I think you guys do a really great job of really staying up to date on the technology, which I don't think you can be the same for like Oracle. I don't think Oracle is doing things like that so. Nice. Yeah, We, we, we are trying to stay, you know, ahead of things. And we have integrations with many of the AI frameworks such as Lane Chain, many of the agentic frameworks as well. And so again, like working with AI and MongoDB, it's just we want it to be as seamless as possible. For sure.
Yeah. So I know the audience is probably like they want to see something, they want to see some action. So let's go ahead and show us. You mind if I share your screen now? Yep, absolutely. Okay, All right, so we're looking at the landing page here and let's let's like, and for me, I am more of like a visual learner. We can talk about this all day and I'm not going to understand until you actually show me so. So show me a little bit here. Yeah, yeah, absolutely actually. So I guess we can show you kind of two things before we dive in here.
One, actually I have a little mirror with the back end architecture here. I know some of you guys are thinking, you know, what does this, what does this all actually mean? I basically at a high level, what you're really trying to do is they're trying to hook up basically give demo access to your API endpoints, Http://endpoints, your structured databases, your vector databases, and kind of any specific user session context. And you'll see this, you'll notice this pattern when we actually dive into the SDK in a minute here. But basically, you give demo access to all of these, these things.
And essentially what Damo is doing is anytime now, this is your agent. So you have your online chain agent or something like that. And this a, your agent needs to access something in, you know, in either one of these, right? You would normally have to set up all this plumbing yourself in this new world. What happens is basically if a user asks, hey, I need some certain data, your agent will tell Damo in natural language, hey, I need this information.
And Dame will actually figure out, OK, where does this information exist? And it'll literally write TypeScript. And so it'll write TypeScript that, you know, it's saying, OK, let me, you know, write some TypeScript to access this API endpoint. Let me write some TypeScript to, you know, do a Mongo DB query, let me write some TypeScript to do a vector search query. And you can actually combine these in all sorts of different ways. And basically it'll execute that query and basically give you, your agent a dump of a bunch of JSON, this raw data. And so your agent can then take that raw data, which is the information that you need, and convert that into whatever response you're trying to give to your end user. So at the end of the day, you're still in control of what the end user sees, like what's the actual response. But you don't have to take care of the plumbing to actually get the raw data from your database or your back end APIs basically. Nice.
I would, I would say that in terms of like, if you want to maybe zoom in a little bit on the, on the diagram, one thing I'm noticing, one thing we were noticing also when we were talking to some of our users is that a lot of them I had a pre-existing software that was mostly, you know, legacy software think, you know, potentially ACRM, they could have like a, you know, billing system, they could have a ticketing platform. Basically what is 99% of GitHub today, right? The, the most, the majority of the reposts today are not AI native or not.
They, some of them have been retrofitted or some of them are AI native and some some to a certain extent. But what we're noticing is all the software today doesn't honestly have AI native capabilities. And so the way we see this is that, well, it seems like this really is a database problem and an API problem. So the way we're looking at this, we're going straight to, OK, well, if this is where the application really the, the logic really lives, you know, in terms of the database, where the data, you know, transact goes to and from, right?
And the APIs which performs some actions that to serve the end user, we're thinking, what if we can be this middle, this middle layer, this sort of middleware between these two elements and the user interface. And so the idea is that, let's say, for example, you're in a position where you want to take your repo, you want to take your code base and you want to identify it. So you all of a sudden you say, well, we have this CRM, let's say you're a Trello, you're a Salesforce or you're well, Salesforce is, is massive.
So, but you know, eventually you don't have as many resources, you know, as many engineers to, to identify your workflow. What if you could be able to all of a sudden have an intercom like chatbot in your platform, in your pre-existing platform, right? And be able to have your users, your end users use natural language to ask the your, your to basically talk with your, with your application. So that's kind of overall what we're trying to, we're what we're going to show you guys today and we're going to actually start very, very simple.
We're actually going to start you with something much simpler, which is a natural language to endpoints generator. So this is something that we we basically that came from the app services of Realm at the time, which was discontinued. And the, the way we see this is we say, what if there's a way that you could speak your back at your, at your back end or your endpoints into existence. And that was kind of very much the idea that started it all really.
And then we expanding into the agentified, but really it came. From nice, let let me before we before we move on, go back to the to the visual, please, because this this cleared everything up for me. Like again I'm a very visual person so this makes total sense and and I love this and so I see on here Mongo DB super base. So I want to call out like this is not mongo like just mongo DB right? You can. What kind of databases can DML connect to? Yeah, actually.
So right now it is still just Mongo DB, but so some folks have started to request things like super base because obviously everyone's, a lot of people are using super base these days. So it's just an example, but you know, we think that you can apply the same logic to all sorts of structured databases, also databases like, you know, there's no reason not to, but Mongo DB is just really great because it offers all the support right out-of-the-box. A lot less work on our part.
For sure no, I just I just again just wanted to call out, you know, maybe other database technologies are coming soon. Just acknowledging like there are applications out there that use other databases, so, you know, you wouldn't want to like, you know, hold yourself to just MongoDB and that's OK that's OK we acknowledge that there's other databases, but it's great that this is manga to be first. That's that's that's awesome. The other thing that I see on here is is MCP.
So I, I, I hear this all the time MCP. So is demo basically the server side of the MCP and and you could could then use that in a in any client side such as like cursor or other things that interact with MCPS. Is that is that the idea? Exactly right. That's exactly right. We want to, we're not trying to replace outright your agent. Now the demo we have for you is kind of the full fruition of that. So we actually are providing a full agent in the demo we have today. But, and yes, when you're using this in production, the idea is that you have your own agent and Dan will access an extra plug in.
So you can be using other things like Jimmy, what is the name of the one that does web search for LLMS? So you could have an an A Lanchin agent where you hook it up to Tavoli and to demo. So then you can have an agent that can do both web search and and access all of these back end APIs and databases. Nice. Yeah. Perfect, perfect. Again, love the the the visual there. That that's, that's great. Let's go ahead and move on to the next, the next thing that you have to show us.
Absolutely. So actually we're gonna kind of start as kind of a throwback. So this is actually what the product looked like originally. And Jesse kind of knows this as well. You know when we when we spoke like a couple months back. But this is actually where the the product originated. It's this AI database engineering. As you can see, we have quite a few projects. We've been very busy. What's the new thing today, Jimmy? What are we trying to build today?
Let's do you know what. Something like a GR Trello? Because we're going to do it. We're going to do yellow. How about that? We'll do a Trello clone. That'll be pretty fun. OK, so we're going to make a Trello clone here. And basically what you have to do is you have to essentially just connect your Mongo DB Atlas cluster. I already have a cluster I set up here. I have my API key right here. Let me try not to reveal it to the whole world, but. Tricard, you want to just refresh the page so we can see the steps maybe and zoom in just a little bit.
I think that could help. We can if this still shows. Oh yeah. Perfectly it's you connect to your MongoDB database with app, you know your give your Atlas connection string. Obviously local host is not going to work. So you're going to have to have it be publicly accessible on the Internet. You're going to have to, you're going to talk to it in English basically asking for, you know, what do you need, you know, in terms of your, your schema or you know, what type of CRUD operations do you need. And basically after that the agent will write your Mongo DB queries for you and it'll actually deploy them as publicly accessible endpoints.
So it's kind of a DevOps tool as well, pretty interestingly, of course. So this is it very much started with the idea like, can we just simply speak our endpoints into existence? It was like we have a database, you know, we, we wanted to show like a prototype or something. We don't need to do like the whole compute with AWS and whatnot. Is there a way that we can have that as a please deploy, please create these CRUD endpoints, create, read, update operations, and that's just kind of like how demo was born in a way. So let's let's drill down on that a little bit because you you, you brought out realm and app services. And so that that was some functionality that Manga to be Atlas had built into it where it where it created those those crud endpoints for you.
But that recently did get deprecated. So that is no longer a feature of manga to be Atlas. And so this was kind of in line with like, let's let's pick up from from where Atlas left off. Let's see how we can kind of do that, but but identify it and and make it easy, right? So that that's a really cool spin on, you know, us deprecating a product and you like picking it up and say I can do that and I can do it better. You know, and the funny part is we didn't even really think of it in terms of like replacing Realm or anything, because we kind of stumbled onto this very separately and is only after we started talking to more folks realized, oh, you know, this could be a really good alternative to Realm. Yeah, yeah, I think it's very, it's very interesting. But yeah, so here we actually just connected to our cluster and you can see we actually have access to all of all of our databases here.
You can see all the collections and everything. And basically the way this works is we can just select what cluster we want the agent to talk to, and we can select what database we want it to talk to. In this case, I'll just select a random one here. Let's go with the events DB maybe. Yeah, let's just do that. And now we can basically just talk to it in English. You can just be like, hey, create a simple thread app that that is a Trello loan, have much more call it have the let's say have the tasks have tasks. Let's have tasks of the field.
I'm being very redundant here Name. Let's go with description. Probably date or. Page and date, something like that. Some pretty simple stuff here as I can send that and basically now all it's going to do is think about, OK, this guy's asking me to make some crowd, some crowd application. That means I'm going to need a create endpoint, an update endpoint, a delete endpoint, and then they're asking me to have a couple fields here actually there you can see it created it.
Obviously this doesn't, you know, you're not going to really deal with it in that fashion. So you're actually going to go to functions over here. If you click on that, you can actually see their function code in the actual like regular TypeScript and the obviously you can manually edit all this code. We never want to, you know, remove control from anybody. That's a terrible idea. I mean, always want to maintain control. But yeah, you can. And I want to add here that everything here is already deployed. So now basically it's it's it's fully, you know, you don't have any boilerplate, any scaffolding you get now it's fully running. So tricks your car is going to show the everything is accessible.
That's the cool part is this thing actually, it's like a serverless edge functions as well. So, you know, basically if we copy our route here and we go to Postman, obviously we're doing it Postman, but you know, this could be a neat thing. I mean like real commands, you know, Axios, whatever it is. But we copy our POST, our API key, sorry, our route URL. Then we go to environment variables, we give it a second here, we'll actually get our API key. So all of these routes are right now protected by an API key. I think I'm going to have to zoom out here, but generate a new key.
Let me zoom out a little bit more, copy that key, I'll zoom in, back in. But if I go into Postman here, can I zoom into Postman? Oh, I can. Perfect. You can magic, but if. I yeah, is and so these are the the the functions that you said they're running on like a Dino like V8 edge function that's. Correct, right. These are OK nice. This is a Dino V8 isolate all of this. So if we give the, you know, kind of our body parameters here, the name, we'll just call it.
I don't know. Just to do. Fellow task one or something like that. Very basic, very uncreative. What were the other fields? Let me take a look at the edge. Point we had a description, stage, date I believe. So we have description here. So we'll do a description for task one very, very uncreative here stage. We'll just call this pending, let's say. And let's do date. And we will just do the date as 4/1/25 S today. And let's make this a POST request and let's send it.
And you just reminded me it's it's April Fools today. It is April Fools. Yes, it is. But this is a real stream. This is a real. Guys this is real product, not fake. This is not a figma. This is not a demo. This is real. Yeah, you see actually, so here it actually inserted that, inserted that task. And actually, if we go to if we go to the Mongo here and go to what was it the events DB and go to tasks that task collection, then you can actually the the the the document populated.
And in fact, actually we can do the get request now and actually we can retrieve our task as well. So basically a fully like what that was what was 3 minutes, we have a fully functioning right application. The other cool part of this which actually you'll see how this ties into the SDK in a moment here, But if we select their cluster and select the events DB again. This is one of my favorite parts. We get to really talk to the database. Literally. Like.
Whole. You know, dynamic queries and everything. So actually we can, we can like. In fact, this is actually how we actually, I see how many users are currently using the product. We actually literally query our own Mongo DB through the product and we also like. Also you can generate a lot of synthetic data. We do that all the time with. There's lots of synthetic data generation type of tool. So you could have it just populate like I'm creating this app.
I need some dummy data, yeah. Exactly, Yeah. You know, initially it was like something like, OK, I have a recipe. Can you just come up with five Italian, you know, dishes and it would just like come up with actually we can do it, actually see what it's. Yeah, I just created five example tasks with random names and descriptions. Descriptions and stages. That's just something like that. Hopefully, hopefully this thing will happen to your list today. Oh, OK.
I think, I think I know why it did that. Execute a direct query. So this is an old version of the agent, which is why that will create five example tasks with random names and that within the task collection you have to be very specific with OK, we've already moved on to a better version that is, you know, a lot smarter and more intelligent. It's actually kind of crazy. This is actually running on I think GPT 4 O the new ones that run the nowadays we all we run on deep sea car one. OK, one thing is deep seating.
The people are like, oh, the Chinese, you know, are they going to steal their data? Yeah, we actually use a provider that's in the US, but list all tasks in the task collection. So if we do that now, we should actually get all the synthetic data that it just generated. There we go. So you can actually, it just generated a bunch of a bunch of synthetic data here. But yeah, this is just this great little thing just to kind of manage your database. It's also really great for, we also use it all the time for cleaning up data. So a lot of times, especially in test environments, we just end up making a bunch of dummy documents and it gets super annoying.
So actually we also use this to do like, you know, essentially clean up those dummy documents. You can actually do some pretty complicated queries with this in terms of like, you know, all the regex that you would have to write yourself, this thing would kind of kind of take care of for you. So that makes, you know, cleaning up documents a little bit easier. I could even see this like like you, you said you had an issue with Postgres where your schema was changing, etcetera. And in Mongo DB you can do anything that you want, but at some point you probably want to like maybe normalize a few things.
So maybe you could say, hey, go through because I've added this new field. So go through and make this update to the basically an AI generated migration which you know migrations is not a thing in Mongo DB but you kind of you know you could kind of fake it with this. Yeah, you know, that's such a great point. I think I know that Mongo DB way of doing things is you create version one of a document and version one of a document. But I know some people even I think myself, I still have the SQL mindset. So I don't like doing that all the time. I think I've got, I've grown much more accustomed to it, especially since I've been using Mongo DB a lot more for kind of that like what you might call it asynchronous applications or you use, you know, Kafka or something like that for streams. You know, rather than just kind of doing everything very in a very synchronous way, which case versioning makes perfect sense. But yeah, this thing can can, I think this thing can be really great for migrations.
The other cool thing is because of, you know, the way the ICE, the VA isolates work, one big problem with something like I think Netplify is those isolates have very strict time limits. I think it's even to the millisecond or something. Last time I checked, they're doing migrations and those types of things. It's, it's not really feasible. It's not really feasible. But with us, you know, we have much more leeway. We can run a isolate for a very long time, probably very similar to like a Lambda function.
Lambda function limit is what, 15 minutes? So we can get up to those types of time frames. So absolutely, migrations could definitely be possible. Nice. Amazing. Looking good so far. So you said that this is the the older version. What has, I mean, you're probably going to get to this and just tell me that you'll get to it if you do. But what is the the newer version look like? Yeah, this is a great question. So actually what what we've kind of evolved into is kind of becoming more of a like essentially this AI agent kind of glue, right? This SDK kind of tool that helps you kind of identify your application.
So here I actually have this kind of travel application here. So this is like an open source travel application. It's built in like next JS and uses Mongo DB for your back end, which is pretty cool. And it can do some, you know, pretty cool stuff. I mean, if we create a new board here, we'll just make it, you know, like a sales pipeline board or something like that. You know, it can do all the normal stuff, create a sales pipeline, you know, add a column, all the, you know, normal stuff.
Let's just edit this to be like, I don't know, new deals or whatever, something like that. So you know, your normal kind of Trello application. But a big thing that people folks want to do these days is they have their Trello, they have their sales force, they have their CRM, but they want to identify it, have some sort of AI agent companion. Right now, I'm sure a lot of you folks out there, you know, you're getting pulled by senior management to, you know, stuff AI into everything these days. So I'm sure you guys are building a lot of AI agent companions.
But the problem is that's a lot of plumbing to do on your part. No one likes doing plumbing. I don't like doing plumbing, So what we basically kind of built is a very nice SDK where it's very similar to like demo here. This version of demo, you basically give, you know, your Atlas cluster connection string, you write out your database schema and that's basically it. Now you have essentially like a middleware that you can plug into your, that you can plug into your, your agent and it'll can essentially identify your application.
You can have users can create new deals, manage all pipelines, the whole shebang. Yeah, go ahead, Jimmy. I was going to say in terms of like the way we see this is that this is one of the application of this technology of you know and like sort of almost like natural language to database operations, right? This is like one way manifest. It very much came from issue. Maybe you want to show the website where we have the graph, the diagram. Maybe there's the do we have the diagram up on the I think we do on the second yeah, yeah, if ever started as I say, okay, well, what can be done when you when it comes to translating user intent intent towards to database and you know, whether it comes to reading information, reading data or also potentially writing data. And that's kind of like how this is this how we've been working on something like this with one of our with a group of our portion of our users.
And so is there much always be being this grand idea of being the middleware between the link between language and logic, just in a more, I guess, real world or practical way? Absolutely. So I'm sure, I'm sure you guys are itching to see the SDK and how it actually functions and everything. So we'll, we'll, we'll jump right in here. Here I actually have. So this is the actual Trello app. So this is that actual next JS app and everything. And you, you, you can kind of see all of this.
What basically the way this works is that's kind of two parts of this. There is the Daemo CLI and there is the Daemo SDK. So the Daemo CLI is how you're going to get your API key and it's how you're going to actually set up your agent and get an agent ID. So with those, that's how you're going to give to the, that's what you're going to give to the SDK. So Daemo knows OK, this is this user making this agent and this is a this agent is calling you know these APIs or whatever so we'll actually go what we can do is actually if we go ahead, oh I mean I do that if we actually go to the CLI here, what we can do is we can actually do I actually think I'm logged in right now yes. I am so if I do Daemo, who am I I'm actually already logged in, but you know what I log out just for the demo's sake, I'll do Daemo log out now.
This will be ACLI tool that you will install like doing something like NPM install dash G Daemo right, or Daemo supply or something like that. But you know, we're going to publish this pretty soon. This is not public yet, but it will be very nice. Basically what the first thing you're going to do is you're going to do demo login and when you do demo login, this is going to basically open up our, our login portal. Oh, I think I I actually need to run the portal service here. That's how new IT is.
It's still local host. It's still fresh, so it's still in the oven. It's all good. It's all good. Still it's still in the oven, but let me let me do demo login again here, but there we go and actually let me actually do this. Oh, is it not? Is it not still running here? Oh, I know why it's because the Trello thing is on is on port 3000. So it there you go. Oh, and you have the other one. You have the current. One that's on port 3000. There we go now.
Now it should work. So now at this time that we actually run demo CLI. See, this is what happens when you don't have the production yet. Live, live coding is always fun, but we've we always, we always figure it out. So if it actually, I'm going to open this up in Chrome because Chrome for some reason works better with these logins. I don't know why I love Firefox, but for some reason it's just not cooperating. So we're going to login with demo here.
And if I do, I already have my login credentials. And if I do that and then I go back to, Yep, there we go. So our login was successful. And now if we actually do demo, who am I? You can see, OK, I'm logged in as Shrikar. I have a user ID. My token expires in like a month. So you're gonna have to do demo login and again in about a month. So once you've logged in with demo login, now you can actually generate your API key. So you do something like a demo API key create and you're going to name your API key. In this case, I will just do something like Trello API key demo, something like that.
There we go. So once you create that, you can actually copy this API key. So I'm going to copy my API key here and I'm actually going to paste it in my in my Trello app here just for safekeeping. So I'll paste it in there, but let me go back to my CLI. And now I have to create an Agent 01. Other thing is if for example, you accidentally clear your terminal, what, where do I get my API key now? Great question. But you do a Daimo API key list and this will get you, this is kind of ugly. If I do it in the bottom, there you go. Now that's a lot better.
You can actually get all of your API keys that way as well. So you can do Daimo API key list that way, but we now we have to create an agent. Obviously, this this is you can do it through the CLI. You can also do it through the web app. So when we publish the web app, you can also do all this stuff through that as well. If you don't want to use the CLI. I just love CLI because I do everything in terminal, as you've noticed. But we can now do demo agent create and we can create our agent.
So we'll just do Trello agent demo and we'll do that. There we go and created the agent successfully. We'll copy the agent ID and we'll go back to our SDK here and paste it in here. There we go. And so now basically what we can do is now this is our Trello app. So this is the actual Trello clone in here, this next JS application. And basically what I have is a little utility file. So actually you can see in my utils, I have this Trello agent file in my utils. And this is where you're going to actually configure the agent and everything.
So we're going to paste in our API key here that we got from the CLI. We're going to paste in our agent ID that we got from our CLI and paste that in there. And now here we can actually start configuring. So we can configure the agent. We can give it a name, we can give it a description here. We actually set our Atlas cluster connection string here you can actually see. The, you know, database configuration. So this is actually where you set up your schema, right?
So this is actually the name of the database itself, not the collection, right? The name of the database itself. This is the name of the collection. In fact, if I actually go into, if I go back to Mongo here, you can actually see the here is the, here it is. This is our actual database, the Trello database. So we have a couple of different collections here, boards, cards, columns, users, the whole shebang. And here you can see in the demo SDK, what we're basically doing is defining the schema of our whole database.
We're saying these are the various kind of fields in in the document. This is kind of the types of those fields. You can even do things like foreign keys. So one big thing is references, right? So we can actually do references, which is super cool. So basically what you're going to do is set up your entire schema like this. Obviously we're going to what, you know, in the future, we're going to have, you know, the demo agent set up, you know, set up all of this for you, right? You give your documentation, either your swagger documentation or give you know, whatever it is and it should generate all of this for you, which is going to be pretty nice.
Now this is the cool part role based access control. So how can? How can you? Prevent an agent from accessing data it's not supposed to. In fact, one of the big questions is, is identity access right? If a user is using your agent, they should only be able to access data that that you know they have access to, right? That they have permission to This is the the part where you can kind of set up roles, you know, admin role, user role that have different kind of access levels. You can do access levels in terms of read, write, delete access on the individual collections themselves, but you can also do at the schema level as well. OK, you know, what's the, what, what filters can I do right? If you have a filter where you're saying, OK, you know, I have a Trello board, I only want users to access their own boards.
How can you implement that when you do that through filters? And so right now this is not obviously this is still very rudimentary because they, we literally built this SDK out like over like the last couple weeks. So, you know, right now it's a very basic filtering system where you can say, OK, this, you know, for this field, you can have either, you know, have the user ID exactly match, or you can have it be greater than or less than very basic type of filters. This will evolve into a much more complex system, probably will take a lot of inspiration from Mongoose. I know that's kind of, you know, some people like Mongoose, some people don't like Mongoose.
We'll have to see maybe if y'all have different opinions. I know data modelling is something that you know, you know, there's a lot of debate about. So if you guys have opinions, feel free to to comment about it. But basically you can kind of set up your royal based access control here, here. This is actually I've, I've uncommented this part out here, but actually this is going to be something super cool. This is actually going to be, if I actually uncomment this, this is actually going to be adding Http://endpoints.
So you know, one big thing is mutations, right? Sometimes you don't want to do mutations directly on the database. You only want to do mutations through API endpoints. So this is something that, you know, we still need to kind of work out the kinks for, but we're actually adding a way where you can essentially give access to your Http://endpoints. So essentially you wrap all of your back end service and now you don't have to write any extra code and it you can ensure that you're only doing read, read operations on the database directly.
But any mutations, you do it only through the back end service. So you know you're not messing things up. But this is still a work in progress. But that's kind of the basic gist of it. Once you set up your configuration here, that's it. All you got to do is write, do Trello agent dot saveconfig and it'll basically take, you know, all of this schema and all of that that you set up and it'll actually push it to the demo servers. Then our demo knows, OK, this is the functions I have access to.
This is the schema of your database, and it'll be able to actually dynamically generate your queries at this point, very simple. All you have to do is kind of two things. One is you have to kind of give a user context. So this is actually a very important part is how can you ensure that the agent knows who is accessing it. So this is how you do it through user context. So in the user context, you would either give the user ID or maybe you could even give the JWT token if you want to give that WT token to your API endpoints. In fact, you can actually pass any number of variables through the user context.
So this is how you can kind of give context to the agent on what part, on who is accessing it, what part of the process it's in. And now what we have is just one simple little React component. And all we got to do is essentially just paste this React component in here. And if we do that, relax. It's one line code. All you got to do is just add this add this one line of code. It'll essentially create a an intercom style agent. So if I do NPM run dev here, port 3000 is already in use.
I think I have to get rid of the portal here. But if I do NPM run dev, there we go. So it's running, it's running Trello again. And if I go back to Firefox here and I go to the Trello clone and I refresh the page, give it a second to load up here. And guys, remember this is the exact same GitHub we started with the exact same code base, except that we had this, the agent, the the demo SDK on it. That's all that we did for for changes. Absolutely.
So my wife got into this Trello clone here. You can see you see here this, this, this did not exist before. All right, so this is your intercom style little chat bot. So you didn't have to write any React. No, nothing. You just paste in that one line of React code and you got yourself a little intercom bot. And in fact, if we actually go to our boards here and we go into like sales pipeline, we can actually be like, hey, hey, demo, add 6 new columns that will act as our sales pipeline in the sales pipeline board. All right, let's do something like that. Cross our fingers that it's working here. Actually, if we go to our search. If it's not, it's April Fool's.
Back in service here and you can actually see what it's doing. Essentially we're giving the the Asian context onto as to what the schema is and everything. And essentially it's writing, it's essentially writing this, it wrote this code and it executed in a decent Dino Viet isolate, in fact executed. And if we refresh the page here, give it a second, there you go, you can see that it's created six whole new columns. And in fact, we can even do something else.
We can say, OK, I add five unique cards to each column in the sales pipeline board. Let's do something like that. And if we actually go back to our back end service, so you can see it, it's generating the code again. There you go and say generated the code and there you go and executed that code in the Dino Viet isolate. And so now if we refresh the page again, there we go. We got our tons of synthetic cards in here now. Sugar, I think this is, this is. I can only imagine the kind of possibilities that this will open up in the future because if you think about it, the number of solved, the number of applications today that are still like very much legacy applications, normal regular software that has no AI in it.
And then you could even have like a junior engineer on your team to say, OK, well, just you know, plug in demo. And then all of a sudden your end users who could be potentially, you know, you could be social workers, it could be anyone really. Just it could be mechanics using any kind of software are going to be able to do all kinds of data retrieval and data manipulation without really knowing it, just by using a chatbot really. It's like they've intercommunified.
They identified their software in like less than 20 minutes, right? And this the part that at least I am super excited about is visualization capability. So this is something that, you know, I was spent, I spent the whole of last night trying to integrate this, but you know, it's a, you know, we'll get there in a couple of weeks, it'll be there, but it's going to be when this thing can start doing graphs like you have your CRM, right? And so now the user is trying to do some business analytics.
Okay, imagine a business analytics person is like, Hey, I graph out all of my revenue for the past X number of months and you know, and filter out for, you know, deals in only this territory. That's a complicated query. You know, they're not going to, unless they're a SQL expert, they're not going to write something like that with this. This can integrate directly into all of your data sources. If we start integrating into something like Snowflake, you can imagine all sorts of the power and capability that you can give to folks. Just just just throwing that out, throwing something out there.
Mongo B Atlas does have built in charting capabilities too. And it it generates some UI, but there's also some other great UI libraries out there as well. Like I think I think maybe Shad CNUI might even have some some graphing capabilities, but are some graph components. Yeah, I mean, that's it. And, and that's something that an AI agent can just generate on the fly. And there's here you go. Yeah, absolutely. That's pretty cool. I have a quick question if you go back to your code, So in in the the file where you were writing your your agent or your your demo, Yeah, that one. So when did this file get executed and how? Yeah, that's a great question.
Basically what the IT see here where we say demo chat agent equals Trello agent. Basically in in this React component, this file will actually go and execute once. So there's like a use memo in there and it'll essentially run this run the script in here once I got you what not. Let's not, let's not redoing that a bunch of times. Oh, no, no, no, no. Yeah, yeah, yeah. OK. We use use memo in there and you know, but obviously you don't have to use this demo chat thing. In fact, in fact, I'll show you something here. If instead you wanted to do queries manually, what you can do is do travel agent dot query.
And if you do traveloagent dot query, now you can actually give your, you know, the whole kind of query, what the actual query is, You know, find me my top ten, you know, you know, list all my boards or something like that. And also you can give the the user context or whatever. So you can do all of that same type of stuff, but you know, this is, you know, if you, if you didn't want to use this pre made React component, this is how you would actually integrate it into your own agents. Basically, this would become kind of a true call and we're actually going to build out a proper MCP server where, you know, you don't necessarily have to use the the doc query function directly.
Instead, you can just plug in the MCP server and that'll, you know, give your agent all the context it needs. Do you want to show the mirror again, maybe so we can show how it's how in this in this demo, we kind of did all of it. Basically we did the, the, the whole the end to end in a way. But the thing the most use, the most common use cases will be like you just mentioned is where they integrate demo as the underlying engine. And that's when I think it'll be an interesting for the most use, because I think most developers will want to retain the control over the chat and the agent interface. So that's where they having something that's more customized will definitely make more sense I think. Absolutely, absolutely.
In fact, In fact, one of our first customers, they really want to just use this as an engine because I think one thing we've noticed among developers is especially these AI native products, they want to have a lot of control over what the agent says directly to the user. They don't really care about the plumbing. Like they, they really like the fact that Daemo can do this dynamic query and it can do all the plumbing for them. And it just gives the rod to like Jason to their, you know, to their agent, but they want to still retain control over this portion.
Like what does the actual agent say to? You know the end user, right? Yeah, the plumbing and the retrieval that is that is the hard part. And then like you said, they've got their their other agent in place already. So that's amazing. And then like you said, it works alongside other tools. So that them sure they have other tools that they're needing to call as well. So this is just another tool for their tool belt. That's amazing. So let's talk about, let's talk about the future.
What is the future of daemon? So you showed us the initial like where you where you started. Now you're working on the CLI and the agent, the the SDK. Yeah. What's next? Yeah, you know, it's funny, I think, I think the big bet we're making is actually there will be more for every human being using the Internet. There are going to be 1000 AI agents using the Internet and all of these AI agents, they're going to all be interacting with web apps, websites, all sorts of stuff. But, you know, we're very bullish on the fact that, you know, we don't think they're going to interact with them purely by just clicking on the screen. You know, I know Amazon Nova came out recently, but you know, while that's good for some things, the reality is it seems definitely like most of these agents, they're going to want to interact directly with the APIs.
Doing all this plumbing is a big pain. So what we really see is that kind of the end big vision is, you know, anytime you have a public facing REST API or anything like that, you will also have an agentic version of that API. And so other external will be coming to your service and rather than interacting directly with your APIs, it will instead interact with that socket, that agentic socket. And that's what we want to become is agentic socket where basically any, you know, any app can be wrapped with this and external agents can come and talk to it, right? Nice.
That's that's awesome. So. I was going to start think another thing they want to make sure in this sort of like as we get to this vision is also that we want to give our customers enough observability and security. Like The thing is, it's almost like a game of trying to make a system that's, you know, nondeterministic, as deterministic as possible in terms of like, you know, offering certain guarantees in terms of like we can guarantee that your, you know, your data will be safe. We can guarantee that the queries will be optimally will, will run in an optimal way.
I think that's also something that we, we see as one of the blockers when it comes to widespread adoption of AI and not just in these like, you know, siloed applications or these, you know, these various discreet applications, but in a sort of like widespread way. I think that's going to be the being able to, to solve these members, these enterprise problems. Really that's going to be, I think just going to unleash the beast to another level. And I think this is going to be a we're going to be living in a world where that's a reality, where there's multiple agents doing things. We can call them agents, we can call them just like a genetic system.
We can just call them, you know, task runners. At the end of the day, it's still like linear lines of codes and, you know, compute servers. But I, I think that's kind of the, we want to make sure that in this future like that, that's a safe future as well for to, so that just very much removes under the friction when it comes to I guess the reluctance around that, I would say, yeah. Nice. And so where can developers go to try this out? Yeah. Yeah, so we have the our Astro cardio on the show, the website. So actually right now the SDK is is on a wait list. It's about to get, you know, about to get public. If you, you know, click sign up here, you can actually sign up for our wait list on this Google form. Or if you want, you can get a demo from us by selling signing up to our calendly.
If you if you go onto our website www.demo.aitheapptheapp.demo.ai is actually where this is actually where if I actually log out here, this is actually very live right now and this has been live for, you know, a couple months now. If you want to try making your own endpoints, connecting Mongo DB and making your endpoints go to app to update with an AI and you can sign in GitHub or whatever and you can start using that immediately. But yeah, so be on the lookout. The SDK and CLI are going to be coming out very soon. It's coming.
Yeah, nice, nice. Looking forward to that. Amazing. So one last thing before we go, since since this is we're talking about AI and all this, all these things, is AI going to take your developer's job? Of course we need to be asking the right questions, right? That's the thing, even even this is true even for the smartest developer. The product manager has to ask the right questions to the developer in order to build the right product, and that will always be the case.
You, you can see just just from this, that's what the reason why I asked the question. You can just from this product that you've built, you're we need developers to build these things. We need developers to build these AI agents. It's just going to continue to evolve. Now, is it going to change our jobs? Yeah, I think AI is definitely going to change all developers jobs because it's just another tool. I always use the analogy of moving from from a hammer to a drill like it's it's it's so much easier with the drill, right?
You can get a lot more done with the drill. It's just another tool. Yeah, absolutely. And also I think at the end of the day, as much as like there's, I think the most important thing is also just to solve a problem. Like I think it's regardless of the tool. I think, I think we want to be in AI think eventually it'll be a situation where AI or like LMS are just one option among others and they're potentially facilitators to other to other options.
But it will be just like, you know, just like now we don't say, oh, this is your app running on Python. We just say, is your app working? Is your app solving my problem? It's not like, oh, we our customers are requesting Python, right? I think it's going to be a world in which it's going to be so normalized that yeah, it's, it's, it's, it's it'll, it'll again, developers will still be out there. We'll we'll still be doing live streams, you know, maybe with the AI companion with the live for the live stream, but.
Yeah, awesome. Yeah, awesome. All right, so we're right around time. Any last words before we stop the stream? Yeah, I think I'm, you know, we're super excited about the future. We know everyone's going to be building AI agents and we just want to, you know, help them do that. I think it's a, it's a very exciting future indeed. And. Thanks a lot again, thanks a lot to you guys for having us and for we also went to the New York office went to met with the Jeff and Hartford as well. It's been great.
So we're, yeah, super excited about what we can we can build. Amazing thank you guys for coming on be sure to check out demo dot AI. The link is in the video description. Go check that out and look forward get on the wait list use the the app that that's out right now and give get some feedback like these these guys they're building and they they want your feedback. They want to improve the product and so go try it out and let us know what you think and we'll see you guys in the next stream.
Thank you for coming on again. Absolutely. Thanks guys.
Transcript supplied by the publisher with the episode.
by MongoDB · English · Tech & Science
Whether you're building your first app or scaling to millions of users, The MongoDB Podcast brings you the conversations worth having. Developers, founders, and technical leaders share how they architect systems, navigate hard decisions, and build with AI.
S1 · E270 · 27 Aug 2025 · 1 hr
In this live episode we’ll explore how Cisco harnesses the power of MongoDB Atlas Vector Search to enable cutting-edge AI capabilities across various projects. We’ll dive into its pivotal role in solutions like Retrieval-Augmented Generation (RAG) and the Agentic Framework, demonstrating how it serves as the backbone for efficient and scalable data retrieval. Learn how MongoDB Atlas Vector Search empowers Cisco to bridge the gap between unstructured data and intelligent AI-driven insights, fueling innovation across various use cases.
S1 · E269 · 12 Aug 2025 · 1 hr 4 min
How do you test a GenAI application that's constantly changing? In this episode, Shane talks to Leonard Tang, co-founder of Haize Labs, about why traditional testing fails for LLMs and how to adopt a new evaluation strategy. Leonard introduces "fuzzing"—a powerful technique for discovering edge cases, improving reliability, and building AI you can actually trust. He also gives a live demo of the Haize Labs platform, so be sure to watch the video version on YouTube or Spotify to see it in action.
S1 · E268 · 30 Jul 2025 · 58 min
In this event, Shane McAllister will cover how Albert Podusenko got introduced to MongoDB and in 2016 decided to start a company using MongoDB as primary database behind their server, handling everything: From model states and real-time event generation to maintaining episodes and storing historical data.In this show we'll talk about: How to make a product out of research. Walk through it's journey that culminated with the creation of Lazy Dynamics. Show how they utilize MongoDB with demos and examples.
S1 · E266 · 22 May 2025 · 43 min
🔴 LIVE: How MongoDB Atlas Is Redefining Elasticity for Cost-Optimized PerformanceWelcome to this special episode where we explore the cutting-edge elasticity features in MongoDB Atlas—designed to help organizations optimize costs without sacrificing performance.Whether you're a software engineer, DevOps lead, or IT decision-maker, this conversation will show you how to scale smarter, faster, and more reliably.
S1 · E265 · 16 May 2025 · 1 hr 17 min
Is waiting months for employee feedback a thing of the past? Dive into the future of work with Shane McAllister and L10 founders, Zyrian Chung and Keith Chan . Discover how their AI-powered platform collects daily insights to transform workplace culture, empower managers, and address issues like silent quitting before they escalate. Learn how real-time feedback and AI can create more engaged and productive teams, and get a peek into the tech (including MongoDB) that makes it possible. Stop guessing, start understanding your team today! TAGs: #EmployeeEngagement, #AIinHR, #WorkplaceCulture,…
S1 · E259 · 1 May 2025 · 59 min
✨ Heads up! This episode features a demonstration of the SnapLogic UI and its AI Agent Creator towards the end. For the full visual experience, check out the video version on the Spotify app! ✨ (Episode Summary) Tired of tangled data spread across multiple clouds, on-premise systems, and the edge? In this episode, MongoDB's Shane McAllister sits down with Peter Ngai, Principal Architect at SnapLogic, to explore the future of data integration and management in today's complex tech landscape. Dive into the challenges and solutions surrounding modern data architecture , including: Navigating…
S2 · E8 · 5 Jun 2026 · 56 min
Watch this episode as a video on Spotify! In this episode of the MongoDB Podcast, host Jesse Hall sits down with Karthik Kalyanamaran, Co-Founder and CTO of Langtrace AI, to discuss how engineering teams are building reliable AI products. Moving from traditional, deterministic software engineering to the non-deterministic world of Large Language Models requires an entirely new approach to debugging, testing, and monitoring. Karthik shares his journey from scaling observability infrastructure at Coinbase to creating Langtrace AI, an open-source LLM application observability platform built on…
S2 · E7 · 28 Apr 2026 · 15 min
Watch this episode in Video Format on Spotify . Are autonomous agents about to replace your traditional CRM? In this episode, Anaiya Raisinghani (Sr. Tech. Evangelist, AI Startups & Ventures at MongoDB) sits down with Ishan Mukherjee, Co-Founder and CEO of ROX. They dive under the hood of ROX, the world’s largest-scale revenue agent company that is building AI to handle the end-to-end revenue cycle autonomously.Ishan breaks down his founder journey—from Amazon Robotics to Apple's Knowledge Graph—and opens up about the technical realities of building AI agents today.What you’ll learn in this…
S2 · E6 · 21 Apr 2026 · 45 min
Watch this episode as a video on Spotify ! In this episode, Luis Pazmino, Industry Principal for Financial Services at MongoDB, sits down with Saurabh Khandelwal from Capgemini to explore how financial institutions can transform payments data into a strategic revenue engine. The conversation dives into GenPAL , Capgemini’s solution powered by MongoDB’s modern data platform, and how it enables organizations to move beyond data storage toward real-time intelligence, AI-driven insights, and data monetisation . In this episode, we discuss: • Evolving Payments Landscape: Key shifts shaping data…
S2 · E5 · 15 Apr 2026 · 47 min
Watch this episode in video format on Spotify! If you're building Python applications on MongoDB and still writing raw queries by hand, you're leaving a lot of developer productivity on the table. Beanie, the async-first ODM built on Pydantic, was created to fix exactly that — and this episode goes deep on how and why it works. You'll learn how Beanie maps Python objects to MongoDB documents without sacrificing atomicity or performance, why async-first design matters for modern Python stacks, how schema migrations actually work in a document database, and what the deprecation of Motor means…