Inspiration

We study around Lake Toba, so we often see how tourists look for places to go. Lake Toba is a Super Priority Tourism Destination and visits keep growing. For local communities, that is a chance to build resilient livelihoods. But that only happens if visitors reach many local businesses, not just a few famous names.

Information about destinations, food, and local businesses is scattered across many places. Even the search on our own tourism website, TobaVerse, only matches names, categories, and locations. A question like "cheap, quiet place to eat near Balige" never gets answered by that kind of search.

We see two unmet needs:

  • Travelers, especially first-timers, struggle to find places that fit their budget, time, and interests, so attention flows to names that are already popular.
  • Local business owners need a way to be found without having to master digital marketing.

We suspect that when a community depends on only a few visitor hotspots, local livelihoods become fragile. That is a hypothesis we want to test, not something we treat as proven.

What it does

TobaVerse AI has two parts:

Ompung Bot is a conversational assistant. You ask in your own words, and it recommends places together with the reasons, using only Lake Toba tourism data. If the information is not in the data, it honestly says it doesn't know. We took the name "Ompung" from the respectful word for elders in Batak culture, so it feels like asking a local guide.

AI Trip Planner lets travelers just tell their story, for example: "I'm from Medan, budget 500k, 2 days, I like nature and food." The AI picks up all the details at once, only asks about what is missing, asks for confirmation, and then builds a day-by-day itinerary with reasons, cost estimates, and Google Maps links.

Both are designed for Indonesian and English with no language switch button, and no account is needed.

How it fits the theme

  • Resilient communities. Our focus is the economic resilience of local business communities, not only the traveler's experience. Our hypothesis is that attention spread more evenly reduces a community's dependence on a few hotspots. We plan to test this through a pilot.
  • Human-centered. Natural conversation instead of forms, two languages automatically, honest answers with reasons, and a local tone through the Ompung persona.
  • Sub-theme 4: MSME, Financial Inclusion, and Economic Empowerment. We want to help travelers discover businesses that are usually overlooked, which supports market access for local MSMEs.

The part that speaks directly to local businesses is still a plan and is not finished yet: Balanced Exposure, simple business registration, and anonymous aggregate insights. See "What's next."

How we built it

We started with the data. The Lake Toba tourism dataset has 14 sheets, and we selected 6 of them (348 entries). We deliberately left out two sources: one sheet with broken structure from merged Excel headers, and 22,302 raw review rows that were too noisy for a first knowledge base. We removed duplicates (for example, transport went from 16 to 9 entries), turned each entry into structured text, and indexed it as embeddings.

From there we built a RAG (Retrieval-Augmented Generation) system. In simple terms, the AI looks up real data first, then writes the answer only from what it found.

  • Retrieval: local embeddings and ChromaDB, with category filters so results don't get mixed up.
  • Generation: Llama 3.3 70B through Groq writes the answer with reasons.
  • Trip Planner: uses structured JSON mode to extract preferences from a free-form story.
  • Frontend: plain HTML, CSS, and JavaScript on top of our existing TobaVerse website, with a dark red, black, and gold palette inspired by ulos cloth.

We chose RAG because our problem is answering open questions with accurate local facts, and fine-tuning is too heavy for our scale.

We tested with 20 deliberately varied questions, including questions outside our data to see whether the AI would make things up. The result of each test decided what we fixed next.

Challenges we ran into

  • Fragile free APIs. We switched from one model provider to another after hitting access limits and rate limits many times. We learned to treat dependence on free tiers as a real risk, and our plan budgets for a paid API.
  • Mixed-up search results. A tourism request once returned a food stall. There were two causes: pure semantic search doesn't separate categories, and some filter keywords (like "place" and "lake") were too general and weakened the filter. We added category filters and fixed the keywords.
  • Cut-off answers and duplicate data. A token limit that was too small cut answers short, and the transport sheet was full of duplicates. We found both through testing, not by guessing.
  • A chatbot that didn't remember. Follow-up questions like "why that one?" used to be answered with no context. We added conversation memory.
  • Inconsistent language. The AI kept answering in Indonesian even after the user switched to English. We strengthened the language priority instructions and kept re-testing.
  • From a form to a conversation. The first version of the Trip Planner asked questions one by one, like a form. We rebuilt it into a free conversation that extracts information from a single story, with a progress panel so users can see what has been collected.

Accomplishments that we're proud of

  • We compared our own old search with Ompung Bot using the same real question. The old search returned nothing useful, and Ompung Bot answered with reasons based on real data.
  • Ompung Bot admits when it doesn't know. In our tests with out-of-scope questions, we watched for made-up answers and fixed the cases we found.
  • The Trip Planner understands one free-form sentence, asks only for missing details, and produces an itinerary with reasons, costs, and map links.
  • We turned messy raw spreadsheets into a clean 348-entry knowledge base.
  • We chose to build two features that work instead of five that are half done.

What we learned

  • An honest "I don't have that information" is worth more than a smooth answer that is made up.
  • Data quality shapes the quality of the AI more than the choice of model.
  • Iterative testing found problems that intuition never would have.
  • Cutting scope is a product decision, not a step back.
  • Being human-centered means conversation, language, and a tone that feels local, not just a tidy interface.

What's next for TobaVerse AI

Our honest limitations today: our embedding model was trained mostly on English text, while our data is in Indonesian. Our testing is still internal. The Trip Planner has not been tested as deeply as Ompung Bot. The system still runs locally, and Balanced Exposure is not built yet.

Next steps:

  • Balanced Exposure: recommendations that openly include less-visible businesses that are still relevant to the question.
  • Simple business registration: an easy way for local business owners to list their business.
  • Anonymous aggregate insights: summaries of what travelers are looking for.
  • Cloud deployment.
  • A pilot with travelers and local business owners around Balige, to test our hypothesis about visitor concentration and local livelihoods.
  • Multilingual embeddings for better Indonesian understanding.

Built With

Share this project:

Updates

Submission history