Voyago -- AI-assisted travel agent proof-of-concept
by Harry
PSA: If you're looking for demos to see all parts of project, please reference the demo hub here! I was asked to include only the main app as the demo link. https://docs.google.com/document/d/1ATQCNs4iA9GmtCfzy3Zy8waQqAyNNWDVDrxhREHo9P4/edit?usp=sharing What is this? For now: A multi-agent system that learns your restaurant preferences through doomscrolling, and recommends you more restaurants! (+ the data extraction pipeline needed to collect the dataset it needs) In the future: A more agent-oriented agenetic system that will learn not only on restaurants, but about your opinion on certain attractions, attendable events, etc via doomscrolling. It will then help you build a trip itinerary by recommending you places / events you may enjoy. What it does (currently): 1. You tell Voyago where you’re staying at / your location (limited to Vancouver for now) 2. Voyago gives you a list of restaurants, presented in a reels-like format. It tells you the following things for every restaurant: - Genre (cuisine type) - Price range for full meal - Address - Operating hours - Top tags associated with the restaurant - The rough route + estimated time for you to either walk or drive there 3. For every restaurant, you can read the description and rate it out of 10 based on how much you like it 4. As you rate more and more, Voyago will use the numerical input you give to weigh which tags you like and which ones you do not. 5. Once enough tags are accumulated, the LLM will occasionally generate a summary of your preferences 6. Voyago will gradually reduce the likelihood of restaurants containing tags that already have very strong pro / anti signals, and vice versa for those with tags that are not frequently rated. 7. As you scroll, you can click "AI recommendation" button on the left side panel to let the agent pick out restaurants that you may enjoy, according to what Voyago has learned about your preferences Background The problem with planning a trip these days is that when you search up “things to do / eat in Vancouver”, it is always the same things that rise to the surface of your search engine. In reality, as a Vancouver resident myself, I can confirm that I’ve had far richer experiences at places which are hardly reachable by search engine unless if you dig vigorously. This is a problem because it demonstrates that only the top few percentile of places or establishments get the vast majority of attention, and becomes the "must-go meta" for most travellers. Voyago aims to fix this by giving equal exposure to more niche places and asking what *you* like... and what better way to consume large amounts of content than via doomscrolling?! Ultimately, the question comes down to what “motivates one’s happiness”. I want to build a personal agentic AI tour guide who will help you plan your itinerary. The way it does it is to 1. Learn about what is there to do in the city and what about them (places, events, restaurants, etc) 2. Learn and potentially reason about what specific factors “motivate your happiness”, 3. Thus, recommend places for you to go. This is quite an ambitious project that I will continue, and it has a lot of features I have to add to accurately model the constraints someone may have when planning their travels. Currently, the fully processed dataset is limited to restaurants within Vancouver. The demo version contains 47 locations total. This is mainly a proof of concept, but it does work as intended and it demonstrates how, if we're able to process more data of say, attractions, we're able to easily integrate it into this system. But I guess for now it's of some use. I have very strong deciphobia about where to eat and will often spend such a long time walking around, looking at maps, and carefully analysing the menus at the food court, only to resort to McDonalds (the default safe option) in the end
Extra info
2026-05-09T04:41:36.064Z
Approved at 2026-05-09T18:05:03.582Z
User submitted
28h 13m
Reviewer approved
26h 29m
Hackatime projects: [19389]
Raw project json
{
"aasm_state": "approved",
"ai_declaration": "The main tool I used for this project is Codex in my VSCode editor. I use Codex because it is able to have full context of my project directory and structure. I think there are 4 significant places where AI was used:\r\n\r\nDebugging / fixing issues\r\n\r\nDuring development a lot of issues happened. Most \u201cbig\u201d issues were with performance. For example, the model would sometimes hallucinate info or generate results that were not satisfactorily aligned with the schema. Codex was very helpful sometimes in being able to analyse what was wrong with my project and help explain what these big performance issues are. For instance, the validation during the \u201cAI recommendation\u201d feature where recommended restaurants are filtered to check if it is actually legit or hallucinated was one such policy suggested by AI\r\n\r\nIn addition, as the system became more and more complex, finding the trace of problems was difficult. AI helped me generate a lot of debugging statements that exposed what was either wrong or not ideal (causing generative parts to become unstable).\r\n\r\nDemo deployment\r\n\r\nExcept for the user-facing parts (Voyago-VD), which was designed to be presentable, I used AI to generate a wrapper for the previously CLI-based components that was not convenient for demos (Voyago-PV), purely for the purpose of showing for the demo and thus is located in a separate repo. AI also helped me a lot in terms of discovering which platforms I can deploy through. Due to the presence of both a front end and a backend and a 1.5GB pbf openstreetmap file, I initially was recommended to use Oracle, but AI said that I could use the Supabase-Render-Vercel stack I am using now\r\n\r\n3. Parsing\r\n\r\nSame as my previous project, I\u2019d rather be more concerned with the overall strategy of my project rather than parsing files. There are instances when I used AI to implement particular parsing logics.\r\n\r\n4. Incident recovery\r\n\r\nOn May 7th I messed up bigtime when working with Transiter minimap integration. Essentially I tried to revert back to a previous commit, but through it I somehow ended up with a lot of my Openstreet Map tile files built at different times being stashed. So when I tried to go and fix the transiter minimap over and over again nothing worked because the tiles were stashed and mashed up. AI helped me a lot in recovering my project to a stable state, especially when it came to Github actions and conflict resolution\r\n\r\nAI is not used to write the README nor any of my documentation.\r\n\r\nOverall I believe that, considering the complexity of this project, mainly in size, and unpredictability of data processing, I used AI meaningfully and in dealing with places where I am truly stuck. The usage of AI in the project did not impact my comprehension over my own codebase and so uhh all in all I think this is not AI slop that the AI regulation is intended to tackle.",
"approved_at": "2026-05-09T18:05:03.582Z",
"approved_seconds": 95381,
"created_at": "2026-04-24T01:26:02.365Z",
"demo_link": "https://voyago-vd.vercel.app/",
"desc": "PSA: If you\u0027re looking for demos to see all parts of project, please reference the demo hub here! I was asked to include only the main app as the demo link.\r\n\r\nhttps://docs.google.com/document/d/1ATQCNs4iA9GmtCfzy3Zy8waQqAyNNWDVDrxhREHo9P4/edit?usp=sharing\r\n\r\nWhat is this?\r\n\r\nFor now: A multi-agent system that learns your restaurant preferences through doomscrolling, and recommends you more restaurants!\r\n(+ the data extraction pipeline needed to collect the dataset it needs)\r\n\r\nIn the future: A more agent-oriented agenetic system that will learn not only on restaurants, but about your opinion on certain attractions, attendable events, etc via doomscrolling. It will then help you build a trip itinerary by recommending you places / events you may enjoy.\r\n\r\nWhat it does (currently):\r\n\r\n\r\n1. You tell Voyago where you\u2019re staying at / your location (limited to Vancouver for now)\r\n2. Voyago gives you a list of restaurants, presented in a reels-like format. It tells you the following things for every restaurant:\r\n- Genre (cuisine type)\r\n- Price range for full meal\r\n- Address\r\n- Operating hours\r\n- Top tags associated with the restaurant\r\n- The rough route + estimated time for you to either walk or drive there\r\n\r\n\r\n3. For every restaurant, you can read the description and rate it out of 10 based on how much you like it\r\n4. As you rate more and more, Voyago will use the numerical input you give to weigh which tags you like and which ones you do not.\r\n5. Once enough tags are accumulated, the LLM will occasionally generate a summary of your preferences\r\n6. Voyago will gradually reduce the likelihood of restaurants containing tags that already have very strong pro / anti signals, and vice versa for those with tags that are not frequently rated.\r\n7. As you scroll, you can click \"AI recommendation\" button on the left side panel to let the agent pick out restaurants that you may enjoy, according to what Voyago has learned about your preferences\r\n\r\n\r\nBackground\r\n\r\nThe problem with planning a trip these days is that when you search up \u201cthings to do / eat in Vancouver\u201d, it is always the same things that rise to the surface of your search engine. In reality, as a Vancouver resident myself, I can confirm that I\u2019ve had far richer experiences at places which are hardly reachable by search engine unless if you dig vigorously. This is a problem because it demonstrates that only the top few percentile of places or establishments get the vast majority of attention, and becomes the \"must-go meta\" for most travellers. Voyago aims to fix this by giving equal exposure to more niche places and asking what *you* like... and what better way to consume large amounts of content than via doomscrolling?!\r\n\r\n\r\nUltimately, the question comes down to what \u201cmotivates one\u2019s happiness\u201d. I want to build a personal agentic AI tour guide who will help you plan your itinerary. The way it does it is to 1. Learn about what is there to do in the city and what about them (places, events, restaurants, etc) 2. Learn and potentially reason about what specific factors \u201cmotivate your happiness\u201d, 3. Thus, recommend places for you to go.\r\n\r\n\r\nThis is quite an ambitious project that I will continue, and it has a lot of features I have to add to accurately model the constraints someone may have when planning their travels.\r\n\r\nCurrently, the fully processed dataset is limited to restaurants within Vancouver. The demo version contains 47 locations total. This is mainly a proof of concept, but it does work as intended and it demonstrates how, if we\u0027re able to process more data of say, attractions, we\u0027re able to easily integrate it into this system.\r\n\r\nBut I guess for now it\u0027s of some use. I have very strong deciphobia about where to eat and will often spend such a long time walking around, looking at maps, and carefully analysing the menus at the food court, only to resort to McDonalds (the default safe option) in the end",
"hackatime_projects": [
19389
],
"high_quality": true,
"id": 1879,
"real_approved_seconds": 95364,
"rejected_at": "2026-05-09T04:40:10.944Z",
"repo_link": "https://github.com/fengyuan66/Voyago",
"reported_seconds": 101621,
"screenshot": "https://r2.hctg.gallery.karimeltaib.com/1879.PNG",
"status": "Approved on 2026-05-09",
"submitted_at": "2026-05-09T04:41:36.064Z",
"tags": [
3,
4,
6
],
"title": "Voyago -- AI-assisted travel agent proof-of-concept",
"total_seconds": null,
"unread_notification_count": 0,
"updated_at": "2026-05-09T18:05:05.099Z",
"user_id": 1513,
"username": "Harry",
"ysws": null
}