<?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: HongTran</title>
    <description>The latest articles on DEV Community by HongTran (@hongtran).</description>
    <link>https://dev.to/hongtran</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%2F777630%2F22fc46ff-636d-4efe-b49d-55a7e5cda558.png</url>
      <title>DEV Community: HongTran</title>
      <link>https://dev.to/hongtran</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/hongtran"/>
    <language>en</language>
    <item>
      <title>How I Built VolunteerManiac with Kiro</title>
      <dc:creator>HongTran</dc:creator>
      <pubDate>Sun, 17 Aug 2025 20:43:40 +0000</pubDate>
      <link>https://dev.to/hongtran/how-i-built-volunteermaniac-with-kiro-186o</link>
      <guid>https://dev.to/hongtran/how-i-built-volunteermaniac-with-kiro-186o</guid>
      <description>&lt;p&gt;Volunteering has always been close to my heart. As someone who enjoys giving back and meeting new people, I often found myself wishing there was a simpler way to discover opportunities — whether in my city or virtually — across a variety of causes. That’s how the idea for VolunteerManiac was born: a website that helps people connect with their community and achieve their volunteering goals.&lt;/p&gt;

&lt;p&gt;With VolunteerManiac, you can search for opportunities in your area by entering your city and country, or you can choose from virtual opportunities that let you contribute from anywhere. You can also filter based on causes that matter most to you — whether that’s human rights, animals, arts &amp;amp; culture, children &amp;amp; youth, technology, education, health &amp;amp; medicine, disaster assistance, employment, environment, homelessness, or hunger.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;From Idea to Spec: Using Kiro’s Spec-to-Code Approach&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;To bring this idea to life, I took a spec-driven approach with the help of Kiro. Instead of diving straight into coding, I started by defining the goals, scope, and requirements of the project:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Goal&lt;/strong&gt;: Build a volunteer match website that connects people with opportunities and empowers them to reach their volunteering goals.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scope&lt;/strong&gt;: A search box for city and country, a “Search” button, and filters for causes and opportunity type (in-person vs. virtual).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Requirements&lt;/strong&gt;: Search results should display key details like title, organization, cause, location, description, and a link to apply.
Once I handed this specification to Kiro, it generated a full outline of requirements, design decisions, and tasks for implementation. My role became much more focused: review the plan, make small adjustments, and then run the tasks to implement the features. This saved me countless hours of upfront design and planning work.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Smoother Development with Kiro Agent Hooks&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;What made the process even more seamless was Kiro’s agent hooks. These hooks allowed me to automate repetitive parts of my development workflow. For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;When I saved a file, routine tasks like linting and formatting ran instantly.&lt;/li&gt;
&lt;li&gt;When I deleted a file, related cleanup happened automatically.&lt;/li&gt;
&lt;li&gt;When I created a new file, documentation or test stubs were generated on the spot.
This meant I didn’t need to constantly switch contexts or worry about forgetting a manual step. My development cycle became faster, my code quality stayed consistent, and team processes were standardized from the start.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One of the most impressive hooks I used was the “update my documentation” request. I told Kiro:&lt;/p&gt;

&lt;p&gt;“Listen to all source files in this repository. For example, if this is a TypeScript project, listen to *.ts; if this is Python, listen to *.py. Also listen to relevant configuration files. On change of these files, ask the agent to make changes to docs in either the README or in the /docs folder.”&lt;/p&gt;

&lt;p&gt;The result? My documentation stayed in sync with my codebase automatically — no tedious manual updates required.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;What I Learned&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Building VolunteerManiac with Kiro showed me just how powerful a spec-to-code workflow with automation hooks can be:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I spent less time on setup and repetitive tasks, and more time focusing on the actual experience for volunteers.&lt;/li&gt;
&lt;li&gt;Code quality stayed consistent without constant reviews of small things like formatting or documentation.&lt;/li&gt;
&lt;li&gt;The whole process felt faster, smoother, and more enjoyable.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Closing Thoughts&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;VolunteerManiac started as a personal wish to make volunteering more accessible, but thanks to Kiro’s spec-to-code approach and agent hooks, I was able to turn that wish into a real website in a structured, efficient way.&lt;br&gt;
If you’re someone who wants to build projects without getting bogged down by repetitive dev tasks, I can’t recommend this approach enough. For me, it made the difference between just an idea and a working platform where people can find opportunities to give back.&lt;/p&gt;

</description>
      <category>spectocode</category>
      <category>agenthook</category>
      <category>kiro</category>
    </item>
    <item>
      <title>DashaHR and the HR Working Process </title>
      <dc:creator>HongTran</dc:creator>
      <pubDate>Mon, 20 Dec 2021 12:42:36 +0000</pubDate>
      <link>https://dev.to/hongtran/dashahr-and-the-hr-working-process-2pdj</link>
      <guid>https://dev.to/hongtran/dashahr-and-the-hr-working-process-2pdj</guid>
      <description>&lt;p&gt;Employing and screening potential employees for firms is a tedious job. This job requires many hours of reading resumes and many phone calls to find the best candidates for in person interviews. &lt;/p&gt;

&lt;p&gt;With the huge amount of work load that piles up for human resource employees, staffing companies should find ways to cut down the manual work of their employees so that HR employees can focus more on analysis work or other important matters. &lt;/p&gt;

&lt;p&gt;This is when Dasha comes into the picture for our DashaHR solution. Using DashaHR, potential interview candidates are interacting with AI that has human-like voice and natural talking flow. The AI asks potential candidates questions about their skills and education. Based on the information, the AI can determine if the candidates are qualified for the next round of interview or not. Afterwards, the AI will set up in-person interviews with the qualified candidates. &lt;/p&gt;

&lt;p&gt;DashaHR was built using the conversational AI of Dasha. Thanks to Dasha, the conversations between humans and AI are very natural. We create intents, data, and entities to detect the leads as well as the patterns in humans' speech. The Dasha Script Language (DSL) also enables us to build dialogs and transitions in the conversations smoothly. &lt;/p&gt;

&lt;p&gt;The conversation is structured orderly with certain conditions being triggered in different nodes and detected by intents. The conversation is transitioned to different routes based on the intents of the humans. AI can sort if the humans meet the requirements to go a different route of conversation (setting up next round of interviews or not). &lt;/p&gt;

&lt;p&gt;We need to create different intentions and macros to train the AI. The most difficult part is to have a good source of phrases or intents to predict how the humans talk or discuss in conversation. &lt;/p&gt;

&lt;p&gt;During the development of DashaHR we encountered some challenges such as learning about  Dasha and how it functions for the first time. We had to go through different documentations to understand the flow and how to develop the conversation/logics. Finally, we were able to resolve all the errors that we encountered. We also learnt about Dasha and how well the conversation that Dasha provided. We were able to make the whole process work, creating the demo and video.&lt;/p&gt;

&lt;p&gt;For future improvement of DashaHR, we would like to incorporate the process in automation process in which machine gets info of candidates automatically and then calls qualified candidates if their skills match the requirement of the job. &lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
