<?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: Liam Chiu</title>
    <description>The latest articles on DEV Community by Liam Chiu (@liam_chiu_20df42e754f8cd6).</description>
    <link>https://dev.to/liam_chiu_20df42e754f8cd6</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%2F3512957%2F0a6c5f9c-dee0-49ae-b903-0ded35e1607c.png</url>
      <title>DEV Community: Liam Chiu</title>
      <link>https://dev.to/liam_chiu_20df42e754f8cd6</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/liam_chiu_20df42e754f8cd6"/>
    <language>en</language>
    <item>
      <title>GitHub Copilot CLI Challenge | Solving Lunch Indecision | Building a Restaurant Slot Picker with GitHub Copilot CLI</title>
      <dc:creator>Liam Chiu</dc:creator>
      <pubDate>Sun, 15 Feb 2026 16:03:17 +0000</pubDate>
      <link>https://dev.to/liam_chiu_20df42e754f8cd6/github-copilot-cli-challenge-solving-lunch-indecision-building-a-restaurant-slot-picker-with-mmf</link>
      <guid>https://dev.to/liam_chiu_20df42e754f8cd6/github-copilot-cli-challenge-solving-lunch-indecision-building-a-restaurant-slot-picker-with-mmf</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/github-2026-01-21"&gt;GitHub Copilot CLI Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;As a junior frontend engineer who recently graduated from college, I found that the hardest decision I make every day isn't about code architecture—it's "What should I eat for lunch or dinner?"&lt;/p&gt;

&lt;p&gt;I built the Restaurant Slot Picker, a fun and interactive web application designed to solve daily "choice paralysis" when it comes to food. It identifies your current location, finds nearby restaurants, and presents them in a slot machine interface. With a single click, it randomly selects three options for you. If you see something you like, clicking on the card takes you directly to Google Maps for navigation.&lt;/p&gt;

&lt;p&gt;And the three options is independent selected, which means maybe you would get three same results, which means you are lucky and you must go to try the restaurant.&lt;/p&gt;

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

&lt;p&gt;Here is the live application and the repository:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://restaurant-slot-picker.vercel.app/" rel="noopener noreferrer"&gt;&lt;strong&gt;Live Demo&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/cl-liamchiu/restaurant-slot-picker" rel="noopener noreferrer"&gt;&lt;strong&gt;Source Code&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  How it works
&lt;/h3&gt;

&lt;p&gt;When you first visit the page, you will see this interface:&lt;br&gt;
&lt;a href="https://media2.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%2Fes83158fo261t6k4tltj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fes83158fo261t6k4tltj.png" alt="Restaurant Slot Picker Initial State" width="800" height="586"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, click the "Spin the Slot Machine" button.&lt;/p&gt;

&lt;p&gt;Wait a few seconds, and the app will reveal three dining options for you, like this:&lt;br&gt;
&lt;a href="https://media2.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%2F5gwjhpsmvgrn62z7skkv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F5gwjhpsmvgrn62z7skkv.png" alt="Restaurant Slot Picker Results" width="800" height="619"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Finally, pick the one that looks best to you. Click the card, and the app will navigate you directly to Google Maps.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Experience with GitHub Copilot CLI
&lt;/h2&gt;

&lt;p&gt;Before this challenge, I exclusively used GitHub Copilot Chat within VS Code. Although I knew GitHub had released the CLI feature, I had never tried it out. I really appreciate this challenge for giving me the push I needed to finally explore it.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Learning Curve
&lt;/h3&gt;

&lt;p&gt;At first, I used the Copilot CLI with a bit of nervousness because it has the power to execute operations on my project. Since I wasn't entirely familiar with CLI commands, I felt the need to verify every action it proposed. This "forced learning" actually became a benefit—I had to understand various command-line instructions and their meanings before approving them.&lt;/p&gt;

&lt;h3&gt;
  
  
  From "Micromanager" to "Boss"
&lt;/h3&gt;

&lt;p&gt;Initially, progress was slow because I was cautious and didn't fully trust the tool. However, once I built that trust and started allowing it to execute commands autonomously, the development speed skyrocketed. It could build features automatically while I literally sat back and watched YouTube, occasionally checking the results or providing new specifications. It felt incredibly "chill"—like I was a boss simply chatting with a developer and delegating tasks.&lt;/p&gt;

&lt;h3&gt;
  
  
  Beyond Code: APIs and Deployment
&lt;/h3&gt;

&lt;p&gt;I also discovered that GitHub Copilot CLI is capable of much more than just writing logic. It acted as a comprehensive guide for infrastructure tasks, such as applying for the Google Maps API and deploying the project to Vercel. Instead of leaving me to read through long documentation, it generated a clear, step-by-step guideline. By following the instructions it provided, I was able to smoothly complete these configuration missions without getting stuck.&lt;/p&gt;

&lt;h3&gt;
  
  
  Finding the Balance: Direct Agent vs. Strict Specs
&lt;/h3&gt;

&lt;p&gt;I also realized that for complex features, the agent might misunderstand my intent. I researched how to better converse with AI agents and experimented with defining strict project specifications (Spec-driven development).&lt;br&gt;
While this process is more rigorous, I found it can sometimes lead to "over-engineering"—the AI might write tests or functions that aren't needed yet, making maintenance difficult. In contrast, the direct Agent mode is faster and easier for smaller tasks. I learned that the key is knowing when to use which strategy.&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;I also tried the copilot delegate features, which allow the agent to run in the cloud and create PRs for review. It makes me feel like I have the capabilities of a senior engineer, even though I just graduated!&lt;/p&gt;

&lt;p&gt;Ultimately, this tool is incredibly cool. The biggest takeaway for me is that communicating with AI is a skill in itself. If the AI doesn't meet my expectations, it usually means my description needs improvement. I can't wait to see what else I can build with it.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>githubchallenge</category>
      <category>cli</category>
      <category>githubcopilot</category>
    </item>
  </channel>
</rss>
