<?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: Agung Sidharta So</title>
    <description>The latest articles on DEV Community by Agung Sidharta So (@gungz).</description>
    <link>https://dev.to/gungz</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%2F712791%2Fa0ca97c6-5010-49c8-b555-7439206b8eef.jpeg</url>
      <title>DEV Community: Agung Sidharta So</title>
      <link>https://dev.to/gungz</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/gungz"/>
    <language>en</language>
    <item>
      <title>MindsDB Stress Test Knowledge Base - My Journey Creating App using MindsDB KB</title>
      <dc:creator>Agung Sidharta So</dc:creator>
      <pubDate>Sat, 28 Jun 2025 21:00:11 +0000</pubDate>
      <link>https://dev.to/gungz/mindsdb-stress-test-knowledge-base-my-journey-creating-app-using-mindsdb-kb-3p4j</link>
      <guid>https://dev.to/gungz/mindsdb-stress-test-knowledge-base-my-journey-creating-app-using-mindsdb-kb-3p4j</guid>
      <description>&lt;h2&gt;
  
  
  About MindsDB Stress Test
&lt;/h2&gt;

&lt;p&gt;I found this &lt;a href="https://quira.sh/quests/creator/details?questId=19" rel="noopener noreferrer"&gt;quest&lt;/a&gt; on Quira with MindsDB Knowledge Base (KB) as the topic of the quest. I have been interested about MindsDB for some time but with quest and prize as cherry on top, why not.&lt;/p&gt;

&lt;h2&gt;
  
  
  Idea
&lt;/h2&gt;

&lt;p&gt;I need to find idea before starting to write the app and then decided to create &lt;strong&gt;hackathon aggregator web app&lt;/strong&gt; that includes a chatbot to showcase capability of semantic search using MindsDB KB. Why &lt;strong&gt;hackathon aggregator&lt;/strong&gt; ? Simply because I love to participate in hackathon.&lt;/p&gt;

&lt;h2&gt;
  
  
  Development
&lt;/h2&gt;

&lt;p&gt;I started using vibe coding, in order to help me accelerate development especially on creation of front-end. To interact with MindsDB, I don't rely on &lt;code&gt;MindsDB SDK&lt;/code&gt; but solely rely on &lt;code&gt;mysql&lt;/code&gt; SDK in &lt;code&gt;Node.js&lt;/code&gt;, in this case using &lt;code&gt;mysql2&lt;/code&gt; library. For IDE, I use cursor. &lt;/p&gt;

&lt;h2&gt;
  
  
  Challenge
&lt;/h2&gt;

&lt;p&gt;While doing development and learning at same time, I found issues that perhaps could be easily avoided if I use &lt;code&gt;MindsDB SDK&lt;/code&gt;, as the issue seems like happening only if I use &lt;code&gt;mysql&lt;/code&gt; client to access MindsDB using its &lt;code&gt;MySQL&lt;/code&gt; API. I'll write more detail about the issue and submit as bugs on MindsDB repo.&lt;/p&gt;

&lt;h2&gt;
  
  
  Repository
&lt;/h2&gt;

&lt;p&gt;Please find the repository of the app &lt;a href="https://github.com/Gungz/mindsdb-hack-project" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo Video
&lt;/h2&gt;

&lt;p&gt;It's included in the github repo. Please watch it there.&lt;/p&gt;

&lt;h2&gt;
  
  
  Result
&lt;/h2&gt;

&lt;p&gt;Roughly 2 days doing vibe coding and learning by doing, I can create a hackathon aggregator web app with following feature:&lt;br&gt;
🔍 &lt;strong&gt;Smart Search &amp;amp; Filtering:&lt;/strong&gt; Find hackathons by title, description, tags, status, and type&lt;br&gt;
🤖 &lt;strong&gt;AI-Powered Chatbot:&lt;/strong&gt; Interactive assistant that helps users find relevant hackathons&lt;br&gt;
🎯 &lt;strong&gt;Personalized Recommendations:&lt;/strong&gt; AI-driven suggestions based on user questions&lt;br&gt;
📱 &lt;strong&gt;Responsive Design:&lt;/strong&gt; Beautiful, modern UI that works on all devices&lt;br&gt;
🔄 &lt;strong&gt;Multi-Source Integration:&lt;/strong&gt; Aggregates data from Devpost, Topcoder, and Quira&lt;br&gt;
⚡ &lt;strong&gt;Real-time Updates:&lt;/strong&gt; Hackathon data fetching and updates&lt;br&gt;
🔐 &lt;strong&gt;Admin Dashboard:&lt;/strong&gt; Manage data sources&lt;/p&gt;

&lt;h2&gt;
  
  
  Recommendation
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Try to use MindsDB SDK to do development on MindsDB instead of &lt;code&gt;mysql&lt;/code&gt; client. While I have not tested it, theoretically the development should be smoother with native SDK.&lt;/li&gt;
&lt;li&gt;Accelerate your development with AI (vibe coding).&lt;/li&gt;
&lt;li&gt;Understand how AI Model and Agent work inside MindsDB. There'll be no need to use another AI Agent framework, let model and agent work from your SQL statement. Without proper understanding, I originally would like to use another agent framework such as langgraph.&lt;/li&gt;
&lt;/ol&gt;

</description>
    </item>
    <item>
      <title>From Youtube to Blog Post - use agent.ai to write blog out of youtube video</title>
      <dc:creator>Agung Sidharta So</dc:creator>
      <pubDate>Sun, 26 Jan 2025 18:38:12 +0000</pubDate>
      <link>https://dev.to/gungz/from-youtube-to-blog-post-use-agentai-to-write-blog-out-of-youtube-video-3oh0</link>
      <guid>https://dev.to/gungz/from-youtube-to-blog-post-use-agentai-to-write-blog-out-of-youtube-video-3oh0</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://srv.buysellads.com/ads/long/x/T6EK3TDFTTTTTT6WWB6C5TTTTTTGBRAPKATTTTTTWTFVT7YTTTTTTKPPKJFH4LJNPYYNNSZL2QLCE2DPPQVCEI45GHBT" rel="noopener noreferrer"&gt;Agent.ai&lt;/a&gt; Challenge: Productivity-Pro Agent (&lt;a href="https://dev.to/challenges/agentai"&gt;See Details&lt;/a&gt;)&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;Imagine you are a youtube content creator and you are so good at making video and attracting your audiences, however after long days you still need to write a blog post explaining the content you make to extend your outreach. Or you are following a blog writing competition based on certain topic and you find this youtube video that could tick your reader but you have difficulty where to start. &lt;/p&gt;

&lt;p&gt;Introducing &lt;strong&gt;Youtube to Blog Post&lt;/strong&gt; built using agent.ai.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Demo Video:&lt;/strong&gt;&lt;br&gt;
&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/1-PyWclez8s"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Link to Agent:&lt;/strong&gt; &lt;a href="https://agent.ai/agent/youtube-to-blog" rel="noopener noreferrer"&gt;here&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;del&gt;I plan to add full automation using Medium API before submission time (if time permits).&lt;/del&gt; Unfortunately, Medium &lt;a href="https://help.medium.com/hc/en-us/articles/213480228-API-Importing" rel="noopener noreferrer"&gt;no longer allows to create new integration token&lt;/a&gt;, so the blog post output needs to be manually published on Medium.&lt;/p&gt;

&lt;h2&gt;
  
  
  Agent.ai Experience
&lt;/h2&gt;

&lt;p&gt;Very easy and smooth, building AI agent with builder is straightforward. I follow the course &lt;a href="https://community.agent.ai/c/agent-builder-intro" rel="noopener noreferrer"&gt;Intro to Agent Builder&lt;/a&gt; which explains step by step how to build AI agent and then try to do it myself. Originally I thought I will need to create a code to get youtube transcription, but it has been well provided by agent builder, so what is left for me is designing the prompt for LLM. &lt;del&gt;An out-of-the-box &lt;strong&gt;Create Output&lt;/strong&gt; action to directly write to Medium (platform I chose for blog) is not there yet but it should be solved by writing serverless function or invoking web API.&lt;/del&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>agentaichallenge</category>
      <category>ai</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>Resume AI - Polish your Resume for New Beginning or Fresh Start - Powered by Taipy, Langchain, Gemini, and Github Copilot</title>
      <dc:creator>Agung Sidharta So</dc:creator>
      <pubDate>Sun, 12 Jan 2025 12:31:47 +0000</pubDate>
      <link>https://dev.to/gungz/resume-ai-polish-your-resume-for-new-beginning-or-fresh-start-powered-by-taipy-langchain-2ehd</link>
      <guid>https://dev.to/gungz/resume-ai-polish-your-resume-for-new-beginning-or-fresh-start-powered-by-taipy-langchain-2ehd</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/github"&gt;GitHub Copilot Challenge&lt;/a&gt;: New Beginnings or Fresh Start&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;Everyone deserves a new beginning or fresh start in their career journey, especially as we just entered new year of 2025. In this opportunity, I built a modern resume analysis tool that combines the power of Google's Gemini AI with Taipy's intuitive UI framework. The application helps users give insights, check grammar, propose improvement on their resume, and also interact with the resume through a chat with AI interface. I sincerely hope this could help someone who would like to look for new role and/or transition career.&lt;/p&gt;

&lt;h2&gt;
  
  
  Technical Stack
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend&lt;/strong&gt;: Taipy UI&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend&lt;/strong&gt;: Python (Taipy)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI Model&lt;/strong&gt;: Google's Gemini 1.5 Flash&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;LLM Orchestration&lt;/strong&gt;: Langchain&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Key Features
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Resume Analysis Dashboard
&lt;/h3&gt;

&lt;p&gt;The application provides instant metrics including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Skills distribution (Technical vs Soft skills)&lt;/li&gt;
&lt;li&gt;Years of experience&lt;/li&gt;
&lt;li&gt;Role analysis (Individual vs Managerial)&lt;/li&gt;
&lt;li&gt;Company history&lt;/li&gt;
&lt;li&gt;Interactive WordCloud visualization for extracted skills&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Grammar Check &amp;amp; Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Automated grammar analysis&lt;/li&gt;
&lt;li&gt;Style suggestions&lt;/li&gt;
&lt;li&gt;Keyword optimization&lt;/li&gt;
&lt;li&gt;Structure improvements&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. AI Chat Interface
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Context-aware conversations&lt;/li&gt;
&lt;li&gt;Resume-specific queries&lt;/li&gt;
&lt;li&gt;Professional recommendations&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;Link to the app: &lt;a href="https://taipy-resume-ai.onrender.com/" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;When app is shown, simply upload your resume and after analysis is complete, 3 buttons based on &lt;strong&gt;Key Features&lt;/strong&gt; will show. Also, please visit github link for more detail about sample questions to chat with the AI.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/eHa-TAN-fX0"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;All these are running on free tier. If you get hit by rate limit of Google AI API, please try again. If the web app doesn't show up immediately, the instance may be deactivated due to inactivity. Wait for a couple of minutes and refresh the app. Also, if it looks like it hangs up on you after message saying "Resume analysis complete!", just refresh the page, it should show up with results (this is perhaps due to low CPU on the free tier).&lt;/p&gt;

&lt;h2&gt;
  
  
  Repo
&lt;/h2&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.dev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/Gungz" rel="noopener noreferrer"&gt;
        Gungz
      &lt;/a&gt; / &lt;a href="https://github.com/Gungz/taipy-resume-ai" rel="noopener noreferrer"&gt;
        taipy-resume-ai
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Resume AI with Taipy and Gemini&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;An AI-powered resume analyzer that provides insights, grammar checks, and interactive chat capabilities using Google's Gemini model.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Features&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;📊 Resume Analysis Dashboard&lt;/li&gt;
&lt;li&gt;🔍 Grammar Check &amp;amp; Suggestions&lt;/li&gt;
&lt;li&gt;💬 Interactive Chat with Resume Context&lt;/li&gt;
&lt;li&gt;📈 Visual Metrics &amp;amp; Word Cloud&lt;/li&gt;
&lt;li&gt;📱 Responsive UI&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Prerequisites&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Python 3.10+&lt;/li&gt;
&lt;li&gt;Google API Key&lt;/li&gt;
&lt;li&gt;PyMuPDF (for PDF processing)&lt;/li&gt;
&lt;li&gt;Taipy&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Installation&lt;/h2&gt;

&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;Clone the repository:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;git clone &lt;span class="pl-k"&gt;&amp;lt;&lt;/span&gt;repository-url&lt;span class="pl-k"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="pl-c1"&gt;cd&lt;/span&gt; &lt;span class="pl-k"&gt;&amp;lt;&lt;/span&gt;repository-name&lt;span class="pl-k"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;ol start="2"&gt;
&lt;li&gt;Create a virtual environment:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;python -m venv venv
&lt;span class="pl-c1"&gt;source&lt;/span&gt; venv/bin/activate  &lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; On Windows: .\venv\Scripts\activate&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;ol start="3"&gt;
&lt;li&gt;Install dependencies:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;pip install -r requirements.txt&lt;/pre&gt;

&lt;/div&gt;
&lt;ol start="4"&gt;
&lt;li&gt;Set up environment variables: Create a .env file in the root directory:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight highlight-text-md notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;GOOGLE_API_KEY=your_google_api_key_here&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;Get your Google API key from &lt;a href="https://aistudio.google.com/app/apikey" rel="nofollow noopener noreferrer"&gt;here&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This project uses &lt;em&gt;gemini-1.5-flash&lt;/em&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Local Deployment&lt;/h2&gt;

&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;Start the development server:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;taipy run main.py --use-reloader&lt;/pre&gt;

&lt;/div&gt;
&lt;ol start="2"&gt;
&lt;li&gt;Acccess the application at &lt;a href="http://localhost:10000" rel="nofollow noopener noreferrer"&gt;http://localhost:10000&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Environment Variables&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;GOOGLE_API_KEY: Your Google API key for Gemini&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Sample Questions for AI&lt;/h2&gt;

&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;What do you think of my…&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/Gungz/taipy-resume-ai" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  Copilot Experience
&lt;/h2&gt;

&lt;p&gt;I used Copilot throughout development process:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Use the autocomplete of code proposed by copilot. This is very helpful to avoid writing boilerplate code. For example: When I created a variable for chart data of skills, copilot immediately recommended for autocompletion 2 other variables for chart data of roles and companies, simply because it has the context of what I would like to write.&lt;/li&gt;
&lt;li&gt;When there's a mistake while writing code e.g. python indentation, missing comma when writing taipy code (as I am just learning), I can hover on the mistake and ask copilot to fix it for me.&lt;/li&gt;
&lt;li&gt;What is most useful for me and I use it like 80% of the time is the copilot chat (using Claude Sonnet 3.5 - it works much better than GPT 4o). I use it to iteratively expand functionality in my code and also to write README doc. Few of my chats with copilot chat that I can remember:

&lt;ul&gt;
&lt;li&gt;load pdf content langchain&lt;/li&gt;
&lt;li&gt;use langchain with prompt and use system prompt with ChatGoogleGenerativeAI&lt;/li&gt;
&lt;li&gt;ask llm to return age, gender, number of skills, year of experience, number of roles, number of company in json&lt;/li&gt;
&lt;li&gt;show the json result using appealing chart in taipy&lt;/li&gt;
&lt;li&gt;I want the metric shown as individual number but appealing&lt;/li&gt;
&lt;li&gt;Create page in taipy for resume insight, grammar check and potential improvement, and chat with resume&lt;/li&gt;
&lt;li&gt;I want analysis results part visible only after resume is uploaded&lt;/li&gt;
&lt;li&gt;generate wordcloud from skills&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I still need to do some fixes from generated code but it helps me accelerate the development. IMHO, majority of the fixes that I need to do is because taipy as framework or library was still new and not many examples can be found easily when googling it, hence copilot chat was unable to provide right example. &lt;/p&gt;

&lt;p&gt;Some notable mistakes that took time to fix: &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Copilot proposed visible in attribute of taipy's &lt;a href="https://docs.taipy.io/en/latest/refmans/gui/viselements/generic/part/" rel="noopener noreferrer"&gt;part&lt;/a&gt; to control visibility while the real attribute for that is render. &lt;/li&gt;
&lt;li&gt;Copilot proposed to use base64encoded value in taipy's &lt;a href="https://docs.taipy.io/en/latest/refmans/gui/viselements/generic/image/" rel="noopener noreferrer"&gt;image&lt;/a&gt; to render an image while what is needed is the byte value from buffer.&lt;/li&gt;
&lt;li&gt;Copilot also didn't propose to use rebuild attribute in taipy's &lt;a href="https://docs.taipy.io/en/release-4.0/refmans/gui/viselements/generic/chart/" rel="noopener noreferrer"&gt;chart&lt;/a&gt; as it is needed in order to render chart after data change.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Despite all the mistakes, I strongly recommend using Copilot to accelerate code development especially if the usage is for framework or library more widely known.&lt;/p&gt;

&lt;h2&gt;
  
  
  GitHub Models
&lt;/h2&gt;

&lt;p&gt;I don't use Github Models for this purpose.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;I am happy I am able to learn new things in this 24 hours window (mostly taipy and langchain). I learn to be able to use Github copilot effectively. I also sincerely hope the app can be useful for someone looking for new beginning or fresh start in their career by improving their resume. This is also a good upskill for me in 2025 as Taipy looks promising for quick prototyping (and move to production) and it's really fast.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>githubchallenge</category>
      <category>webdev</category>
      <category>ai</category>
    </item>
    <item>
      <title>Glam Up My Markup: Camp Activities</title>
      <dc:creator>Agung Sidharta So</dc:creator>
      <pubDate>Sun, 31 Mar 2024 14:45:49 +0000</pubDate>
      <link>https://dev.to/gungz/glam-up-my-markup-camp-activities-4i5k</link>
      <guid>https://dev.to/gungz/glam-up-my-markup-camp-activities-4i5k</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;I built aesthetic and interactive form for camp activities which will automatically fill the information counsellor need to know based on selection of camp activity (can still be modified in case user needs to add more information).&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;&lt;iframe src="https://codesandbox.io/embed/vr3ksd?module=%2Findex.html"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

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

&lt;p&gt;I learned that with the prompt and initial code given to us, AI can already generate the aesthetic, interactive, and usable form, which is really great starting point of development.&lt;/p&gt;

</description>
      <category>frontendchallenge</category>
      <category>devchallenge</category>
      <category>css</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Chitato Rasa Mie Goreng CSS Art</title>
      <dc:creator>Agung Sidharta So</dc:creator>
      <pubDate>Sun, 31 Mar 2024 14:30:14 +0000</pubDate>
      <link>https://dev.to/gungz/chitato-rasa-mie-goreng-css-art-5013</link>
      <guid>https://dev.to/gungz/chitato-rasa-mie-goreng-css-art-5013</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for DEV Challenge v24.03.20, CSS Art: Chitato Rasa Mie Goreng&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;Chitato Rasa Mie Goreng (see Cover Image)&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;&lt;iframe src="https://codesandbox.io/embed/nckmht?module=%2Findex.html"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

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

&lt;p&gt;I learned how to use box-shadow, linear-gradient background, and transform translate of CSS. I believe making the real Chitato pack from CSS is still too much for me but at least I try. AI also helps.&lt;/p&gt;

</description>
      <category>frontendchallenge</category>
      <category>devchallenge</category>
      <category>css</category>
    </item>
    <item>
      <title>Fetch API - Your Modern Browser's HTTP Requests</title>
      <dc:creator>Agung Sidharta So</dc:creator>
      <pubDate>Sun, 24 Mar 2024 16:47:18 +0000</pubDate>
      <link>https://dev.to/gungz/fetch-api-your-modern-browsers-http-requests-2e2g</link>
      <guid>https://dev.to/gungz/fetch-api-your-modern-browsers-http-requests-2e2g</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for DEV Challenge v24.03.20, One Byte Explainer: Browser API or Feature.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Explainer
&lt;/h2&gt;

&lt;p&gt;The Fetch API is a modern way to make HTTP requests in JavaScript. It provides a clean, promise-based interface for fetching resources asynchronously. It simplifies tasks like fetching data from APIs, uploading files, and handling cross-origin requests.&lt;/p&gt;

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