I am a physicist by training who became a data scientist and now I'm also a travel creator. So not a very linear path, but everything connects as you will see.
So I have my professional side that has always been very deep and technical, very like maths heavy, statistics heavy, machine learning, AI, all that stuff, and then I have the side of me that's very passionate about traveling.
And especially now that I have become a mom some years ago, I travel a lot with my children and I like have kind of a philosophy of travel that, you know, I don't want to do the typical like, record holiday, nothing against that, but like, you know, same thing all the time.
I try to get off the beaten path. and after talking to my friends for a while I found that I had a layer of expertise that they were really interested in you know not very many people are going to like Kazakhstan and running a marathon with their kids in a running stroller like so okay but I also do some like normal
vacations as well but I realized I had this deep level of expertise I started blogging about it sharing advice with my friends and I was sitting a month ago and the women in data science conference and I realized what I'd actually been doing well I've
been doing many things but one of the things that I was doing was creating a knowledge base with all of the writings that I had been doing about the traveling that I had done and so I thought huh okay well I could build an
AI interface over this knowledge base and liberate my expertise to even more people. I can make it available to anyone, anywhere, anytime.
And now with AI models becoming better and better, more conversational, I could do it in my own voice with the right prompting.
So thinking about it a little bit, I decided, OK, it's better to just don't let, you know, the perfection be the enemy of the good enough and start the journey and learn as you go.
So in six days, I had gone from concept to product launch. launch, so the product was built, it was workable, and I launched it and had a founding member like buy into the subscription in six days from the concept.
After some back and forth with my employee Claude, I realized that the best way forward for myself, even though I feel that I have deep expertise in travel and so much knowledge to give. I am not the World Wide Web, right? So you don't need to over -engineer the solution.
So I just created like a three tiered, three layered database. Well the first two layers are mine and the third is like call of last resort.
But what I needed was to just host my data somewhere and host the UI somewhere. So I I found the cheapest server I could rent running a little virtual box somewhere in Europe and
it cost me less than five euros a month. So that's my overhead is less than five euros a month. I mocked up a website for the other company that is spinning off of this travel company, put it in GitHub pages, hosting is free, I paid for the domain, that's it.
so my overhead is very low.
So in the first six days, week or so, I was able to
shove 33 countries and growing into the database. I've been to over 70 countries but the 33 that are in the database are the ones that I prioritize because they're the ones I personally went with my children. So I put that knowledge into
the database and I did a two -tier structure. So again not to over -engineer the solution and to not like drown myself in API calls that are gonna get rid of any margin that I would have.
So the first is a structured database and it costs me one cent a query to, it's zero to query it, but then it's one cent to synthesize the results with an AI that uses my voice and gives you the answer, serves you the answer.
Then when you go to the unstructured database, which is my unstructured writing, that is maybe one to two cents. And I've worked hard on pushing that down to get it to be about the same as the structured database by engineering how many, how I pass the chunk data and things
like that and then if it doesn't come from my own experience like I haven't been everywhere so if you're like what is it like to go to Belize with kids I haven't been there with by myself or with children so then it goes and does
the generic web search and I've done some work to push that cost down to like three to five cents per per query it's usually about four cents but I have more ideas of how to push that further and we can talk about that as well.
Strategies for how you think about your data.
But just to kind of give you ground the discussion a bit, what is the database? What am I talking about when I talk about the database?
It's just JSON flat files. Again, I'm not the World Wide Web. You don't need to go and have a Postgres database.
database, you don't need to have like a full vectorization with embeddings and blah blah blah, like it's, you know, you chunk your data well, you use like some keyword searching in the background to do pre -processing and the chunks that you pass are going to be good enough to like synthesize a very good result for your end user.
As I said, I'm hosting it on a virtual machine. I own the full infrastructure
infrastructure, and all of the UX is hosted on the domain that I already own, so it's not costing me any extra money that way.
And then now, I had opened it up to 50 founding members, so the authorization is handled through just an allow list right now. Again, it's just a JSON file. I just to get something out quick and dirty it's just with a username right
now that's through this allow list but eventually I'm going to add a two -step authentication where it will send you like a random number and then you have to type that in within a time limit or else it times out and you you have to resend it.
So the thing that I say that I would suggest to people is if you're interested in playing around, like making an actual product, do it and then test as you go and measure things, log it in the background.
Because if you don't measure it, you can't fix it. So you need to understand where the tokens are spending the most amount of money. So
So for instance, like just by analyzing and seeing how it was all set up, you know, everybody wants to use the best models from the beginning for every aspect of it, but that's not the right way to think about it. So you need to think about what is the right model for the task.
If you have to make an API call, like are you trying to, you know, for instance, for For the web search, like, if you're already getting to layer three, you're getting to something outside of my expertise. That's the lowest value information to the consumer, right?
So they don't, you know, they might as well be speaking to Claude or, you know, ChatGPT or, you know, the Lumo, the one from like Proton, like any different agentech model. like you've lost my expertise that's the value so why should I spend lots of money on giving you the best search like I should just get a good search that will serve up enough information that it is still useful and then process it and
send it to you so at the beginning when I was using the best model of the the anthropic model. It costs a lot of money to use the good models.
It says that it, the newest model says that it filters the information of the input before when it scrapes the web. It filters it before it tries to give you output.
But it's filtering is actually not that good, if you look at it in the background. The amount of tokens that you start with to the amount of tokens that it reduces to, It's still way too much for something that is not, you know, you can give a good answer without like, you know, the best model.
So actually I found that I saved myself, like I reduced costs by, you know, from 10 cents per query to three cents per query, just by changing the model to an older model, which which Anthropic has already made it discounted because it's not the best. So just kind of checking what's going on in the background.
For instance, at the beginning, the number of KB chunks that were sent. So this is my unstructured database. If you hit the second layer and it's trying to serve you a response, it would serve everything that it would find that is related to the topic,
which could be relevant but actually it reduced the user experience because you get this wall of text home and like it's for me the bad part is well that was a bunch of tokens that passed through clod and that cost me a lot of money so actually everybody is losing in this scenario so i started um capping the number of chunks that get passed but you need to do it intelligently
If you just truncate the first few chunks that get served, yeah, you can give a response that's good. But if the data is rich throughout, you want to give people a mix, like a little bit of everything, and then let the person take the lead and say, oh, you went to Kazakhstan, you went to
two cities, I got information about two now, instead of just the first one, because those were the first chunks that got served. So now I see, oh, you went to Almaty, and you went to Turkestan.
Well, I actually want to hear more about Turkestan. Tell me more about that. And then it can serve up more relevant chunks on that topic because it gets to see kind of everything that's there.
So you have to be very intelligent about how you do the pre -processing of the data before you just hand everything over to the model because either you're going to spend a lot of money or you're going to naively truncate things and get an answer that might look good on the surface, but it's not giving the full richness of what the user could want.
And then I also had to make some choices about how I would use the chat history. Because you could just give a whole bunch of history and inject that every time as well, but that's a lot of tokens.
And really, if you're so far down removed from the first chat that you had, if I'm trying to plan a trip how relevant is it that I asked like oh what is this location like generally okay great well I want to stay at this hotel or like what hotel can I stay at okay now I want to ask you what restaurants are good to eat at well it doesn't really matter so much you know all of
those pre -answers you do want some context to remain but you don't necessarily need to give the whole history. So you can make some choices there to reduce cost as well.
So it's not just thinking about like how do I implement it but then how do I implement it in an intelligent way so that I can create a product of value that is giving the full richness of my data and then letting the user take the
lead afterwards.
Like when you think about how you are going to move things out around through your database.
I mean then I can also talk for a while about what you should be considering data if you start to think of yourself as an expert in a particular domain whether it's wellness or maybe it's you know building UX or you know you are a person who travels a lot as well or but in a
different like subdomain or like whatever you know this is where this kind of methodology starts to become interesting so for anybody who would consider themselves an expert creative you know I'm I have you know really great ideas about how you design a space in your home and like what choices you
should make for like colors and furnitures and things like that. And people follow me on TikTok and they follow me on Instagram and I write like I have a sub stack and everybody really likes what I'm doing and they follow me. But how do I monetize this further?
Well you can start to release your knowledge to more people. So I think everybody is kind of very aware that all of these companies are taking your data and they're doing a whole bunch of stuff with it. But I think not a lot of people are thinking about how you can take that knowledge back
for yourself and use your digital footprint for you. And so I just want to kind of challenge you guys to think more creatively about the data trails that you're creating in your life and how you can maybe use that to bring something of value to other people.
and then it's the hardest part is wasn't building the AI in some sense you know because it's not like I'm breaking some new ground I use cloud for a lot of the for the synthesizing of the data chunks that I was serving it and also to do the web search when I needed to although that's going to change but the harder part is how do you take the data and then structure it in a way
that like I said reduces the cost to you and also provides more value for the person who's going to be using it on the end on the other end and then yeah I'm happy to talk to anybody about the methodology that I use how I took different decisions and different things but I think maybe what's more
interesting is I can just kind of show you what it looks like right so this is
Jules, because she's like a mini me, Jules, Julia.
So we're going to sign in. I'm just, just for demo purposes, I'm going to remove this from the authorization list later.
So you guys can't just come and use my database. But okay, let's see it in action.
What happens happens when you say, what, well, like what is it like, baf, it's hard to type this way, to travel to, and I did this spelling mistake on purpose, so notice I didn't spell Saudi Arabia correct, but the database can still find it, which is important.
So, because I'm asking something that is a bit more experiential, it goes first to layer two because what it wants to do is to synthesize like a more loose concept so it's not going to find it in the structured database which is just like locations and addresses and things like that.
I thought that it was important as well for me to do some tagging for locations that I've been or that you would get served advice from me that might have like some things that you should know about before you travel to them maybe in this moment. And that is a separate database that I can add and take things out as situations change.
But then notice you say, where should I stay? so now it needs to understand a bit of the history because you don't tell it a location but it can still go and like understand ah yes because I understand some part of the history that you actually are talking about Saudi Arabia so then it puts the location and the concept
So, staying is mapping to hotel, so then it does a lookup in the database, because this is coming, you see the tag from my database, so not the unstructured data, but from the structured data, it's able to pull out the context and then give you some information about that hotel and the experience there.
So, what happens if you ask it? I mean I'm an American actually but I've never been to Mexico, oddly enough. So now because it's coming from outside of my database you see first it's going to
tell you that it's a web search okay and it tells you that I haven't been there because transparency is really important but it's able to pull up some information from the web and give you like a little bit of context and then it encourages you to
ask me about a different destination or wait until i've been there and kind of the little nudge there is also a bit for me because it costs me even though this is the lowest value to everybody it costs me the most so i would prefer that you don't keep asking me things about stuff I don't know.
Although I have some strategies to reduce costs there as well. I don't think I'm going to use Claude to do a web search.
I'm going to use free web scraping and do some context analysis on that. So anyways, that's just a small demo.
And I'm happy to answer any questions about the process, about this whole thing.
You don't have to travel with kids if you want to use this for your own travel planning you can do do that but