<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ayu Sudi</title>
    <description>The latest articles on DEV Community by Ayu Sudi (@ayusudi).</description>
    <link>https://dev.to/ayusudi</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1369865%2F328cc857-d215-4178-b18d-c1c285a9ec69.jpeg</url>
      <title>DEV Community: Ayu Sudi</title>
      <link>https://dev.to/ayusudi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ayusudi"/>
    <language>en</language>
    <item>
      <title>Building Hangout AI at the TiDB Future App Hackathon 2024</title>
      <dc:creator>Ayu Sudi</dc:creator>
      <pubDate>Sun, 25 Aug 2024 06:26:02 +0000</pubDate>
      <link>https://dev.to/ayusudi/building-hangout-ai-at-the-tidb-future-app-hackathon-2024-29j</link>
      <guid>https://dev.to/ayusudi/building-hangout-ai-at-the-tidb-future-app-hackathon-2024-29j</guid>
      <description>&lt;p&gt;Participating in the &lt;a href="https://tidbhackathon2024.devpost.com/" rel="noopener noreferrer"&gt;TiDB Future App Hackathon 2024&lt;/a&gt; was an incredible journey that pushed the boundaries of our creativity and technical skills. We embarked on a mission to develop &lt;a href="https://devpost.com/software/hangout-ai" rel="noopener noreferrer"&gt;Hangout A&lt;/a&gt;I, a personalized travel itinerary generator that leverages advanced AI and data technologies to deliver tailored travel plans for users across Jakarta, Singapore, and Kuala Lumpur.&lt;/p&gt;

&lt;p&gt;As someone who reached the top 60 finalists in the &lt;a href="https://devpost.com/software/imagewise" rel="noopener noreferrer"&gt;TiDB Future App Hackathon 2023&lt;/a&gt; and received some great merchandise, I was determined to make this year even better. This time, I was well-prepared and, more importantly, not alone, which made all the difference.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F29wmev4yn5p99dqhfz2c.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F29wmev4yn5p99dqhfz2c.gif" alt="GIF"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Inspiration
&lt;/h2&gt;

&lt;p&gt;The idea for Hangout AI was born from our shared love of exploring cafes in Jakarta as WFC (Work From Cafe) enthusiasts. We often planned hangouts that didn’t always materialize, so we thought, why not create a tool that makes planning easier and more fun? Our goal was to design an AI-driven application that could generate personalized itineraries, taking into account not just the user’s preferences but also real-time data like weather and location details.&lt;/p&gt;

&lt;h2&gt;
  
  
  What It Does
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://hangout-ai.vercel.app" rel="noopener noreferrer"&gt;Hangout AI&lt;/a&gt; is a powerful tool that generates customized travel itineraries based on user input, location, date, and weather conditions. By integrating a Large Language Model (LLM) with Retrieval-Augmented Generation (RAG), we ensured that our recommendations were accurate, relevant, and highly personalized. The platform also offers visual previews of locations, giving users a more immersive planning experience.&lt;/p&gt;

&lt;h2&gt;
  
  
  How We Built It
&lt;/h2&gt;

&lt;p&gt;We assembled a robust tech stack to bring Hangout AI to life:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;LLM Service: We integrated the Groq Llama3-70B-8192 model for generating travel itineraries.&lt;/li&gt;
&lt;li&gt;API Server: Built using FastAPI and Node.js, it handles user requests and interacts with the LLM.&lt;/li&gt;
&lt;li&gt;Client Application: Developed with React, Vite, and Tailwind CSS to create an engaging and responsive user interface.&lt;/li&gt;
&lt;li&gt;Database: We utilized TiDB and PingCAP Vector MySQL for efficient data management and retrieval.&lt;/li&gt;
&lt;li&gt;Data Integration: Our data pipeline involved scraping location data with Google Maps scraper and cleaning it using Python and Pandas.&lt;/li&gt;
&lt;li&gt;Deployment: We deployed the application using Vercel, Heroku, and a personal VPS, ensuring reliable performance.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  TiDB Utilization Overview
&lt;/h2&gt;

&lt;p&gt;TiDB played a critical role in our project. We utilized:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;RAG with PingCAP Vector MySQL Database: For efficient retrieval and embedding of location-based data to enhance the LLM's output.&lt;/li&gt;
&lt;li&gt;TiDB Serverless for MetaLocations: To manage and retrieve non-sensitive data used for visual itinerary previews.&lt;/li&gt;
&lt;li&gt;MySQL Database from TiDB: For handling user profiles, location data, and chat records, ensuring scalability and seamless integration.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsrwu7n6sbjbt3bmuti96.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsrwu7n6sbjbt3bmuti96.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdb4rgtphuk8movk49feu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdb4rgtphuk8movk49feu.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;a href="https://www.youtube.com/watch?si=SVXTkOZQwBW2cQvF&amp;amp;v=iTH35m_UzLE&amp;amp;feature=youtu.be" rel="noopener noreferrer"&gt;
      youtube.com
    &lt;/a&gt;
&lt;/div&gt;


</description>
      <category>hackathon</category>
      <category>llm</category>
      <category>rag</category>
      <category>ai</category>
    </item>
    <item>
      <title>Frontend Challenge Camp Activities Inquiry</title>
      <dc:creator>Ayu Sudi</dc:creator>
      <pubDate>Sat, 30 Mar 2024 12:04:10 +0000</pubDate>
      <link>https://dev.to/ayusudi/frontend-challenge-camp-activities-inquiry-43de</link>
      <guid>https://dev.to/ayusudi/frontend-challenge-camp-activities-inquiry-43de</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for DEV Challenge v24.03.20, Glam Up My Markup: Camp Activities&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;Nice to meet you all! &lt;br&gt;
I am &lt;strong&gt;Ayu&lt;/strong&gt; from Jakarta, Indonesia.&lt;/p&gt;

&lt;p&gt;I challenged myself to make the form template more interactive and personalized to my style. It's a form for Camp Activities Inquiry with three questions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Which camp activities are you most looking forward to?&lt;/li&gt;
&lt;li&gt;Food Allergies (if any)&lt;/li&gt;
&lt;li&gt;Additional things the counselor should know&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I utilized vanilla CSS and JavaScript along with assets that I created from Canva, including GIFs from emojis. Every time a user changes their activities from the select option, the background image (.gif) also changes.&lt;/p&gt;
&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;I create this for a day (less than 12 hours).&lt;br&gt;&lt;br&gt;
It was a fun project to do. Here is the result &lt;a href="https://ayusudi.github.io/glam-up-my-markup/"&gt;link&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;Yup I hosted it to Github Pages.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Here is the repository : &lt;a href="https://github.com/ayusudi/glam-up-my-markup"&gt;https://github.com/ayusudi/glam-up-my-markup&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Demo Video &lt;a href="https://github.com/ayusudi/glam-up-my-markup/raw/main/demo/video.mp4"&gt;video mp4&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--CL-Y5G8L--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://github.com/ayusudi/glam-up-my-markup/raw/main/demo/video.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CL-Y5G8L--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://github.com/ayusudi/glam-up-my-markup/raw/main/demo/video.gif" alt="Image description" width="800" height="500"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Journey
&lt;/h2&gt;

&lt;p&gt;The journey is to make it a simple and productive day by the end of March 2024. I tried to compress the video but ended up using a GIF because the video compression resulted in a watermark, it is for a demo. Additionally, I turned to minimalist design using Canva and styled it with emojis.&lt;/p&gt;

&lt;p&gt;My obstacle is realizing that my IP is not able to sign in to Codepen, so I tried using a VPN instead.&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/ayusudi/embed/abxVbZP?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;&lt;a href="https://codesandbox.io/p/github/ayusudi/glam-up-my-markup/main?embed=1&amp;amp;file=%2Findex.html&amp;amp;import=true"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1rJFNpIB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://codesandbox.io/static/img/play-codesandbox.svg" alt="Edit ayusudi/glam-up-my-markup/main" width="201" height="42"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I am a solo player creating this short challenge. &lt;strong&gt;&lt;a class="mentioned-user" href="https://dev.to/ayusudi"&gt;@ayusudi&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;MIT License 2024 by Ayu Sudi Dwijayanti (&lt;a class="mentioned-user" href="https://dev.to/ayusudi"&gt;@ayusudi&lt;/a&gt;)&lt;/p&gt;

</description>
      <category>frontendchallenge</category>
      <category>devchallenge</category>
      <category>css</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
