My First CLI App
Tags: beginners
Published: 2021-02-27 17:42:47

Today marks the completion of my first CLI app, and while it is indeed basic, I have learned so much in the process.

At the beginning of the project, staring at a blank screen with basic code skills, an idea, and data to support the idea felt like looking for water in the middle of the desert... There are plants, and there is sand... Where there are plants, there must be *some* water... 

<img src="https://lh3.googleusercontent.com/pw/ACtC-3cCRPzNcSZu2B3yeraaku6-Gxod8VZm9qAX2ni1ZC-mmAJdzwzZ-AOc-Z7GGr-YFYCzwhroLn4m1QSKDVEXEbyfzp6aEsP9tsKuiv0lRbKi5MgNW1ENbPhBf8CfO0tCb5N4NpOMklotN87dIwW_09CrqQ=w1201-h800-no?authuser=0" alt="A barren dirt road in Escalante/Grand Staircase Nat'l Monument">

The idea that *any* progress was great progress helped me get started, but it still felt like the first snowflakes falling before a 500" season. But, like a storm in the night, my progress began to accumulate and grow deeper by the day. 

<img src="https://lh3.googleusercontent.com/pw/ACtC-3dfWFKvdpamtX2Otd_6GAqvnsrlPa7wxm4y83neyE9omY_J58N1OzHwq8NP2lJiZvyNxO4dtxifb9HCTSsR2OhWuI-zwm2WJrtjWPopNdOoCvQGJ9ib9GzJ2Gt6e3YYcYezamZozQb7JtI1fbdIBSIMvg=w1067-h800-no?authuser=0" alt="the first snow of the season with brush still showing on the main runs of Brighton ski area, Utah.">

One of the things I found most interesting about the project was how much my original idea mutated over the build-cycle. Some of the challenges along the way helped shape the final product. 

Originally, I wanted to search an API recipe database to categorize the meals by ingredient. Instead, the final product lets the user select a meal and provides a link to a website with the recipe and a link to a youtube instructional video. In the end, I believe this provides a much better user experience- as the CLI interface isn't the ideal way to display all the information required for a complex recipe's ingredients, measurements, and instructions. 

<img src="https://lh3.googleusercontent.com/pw/ACtC-3csrT5BUVYlacv1RjOfPM0HzfzrS3JQRroLQMXsI2roSTtFs3j2kDamg5i0i268eFOdZ0cxymBMUo9RYO51EIhb5lGrkKNZTZ2VRof0NNwVKxTZ0M92Uih4YNNbttU_uTD6pJlfQ0z_Wz9Zk5F3DhoOBA=w1423-h800-no?authuser=0" alt="Snowboarder on the top of Mt. Millicent ready to snowboard down a sunny powder run in Northern Utah.">

Eventually, the each challenge gave way to progress and I was able to complete my app. The smile on my face when it started working is the biggest smile I have had in weeks! Despite the app's simplicity- this felt like an achievement. It felt different than completing assignments with pre-written tests. It was much more challenging to start with a blank drawing board and piece the components together one by one. I feel like this process really solidified my knowledge. 

<img src="https://lh3.googleusercontent.com/pw/ACtC-3c6l5_lRmS940WAG8CUoOqTEYwX_X3h2k3uOIIFjZMR-tq9LB5cvNkwfQ-xyE7izc-0i37C5g9-fnydglCv1croA3DDDLKGOVyb0qlyTCf0XRwKAAlCmNEhI56ivliBIlZIiN4cfyusmpcJtnbVyh7ZCA=w1423-h800-no?authuser=0" alt="Red desert cliffs coated in snow tower above the Colorado River outside of Moab, Utah in wintertime.">

In the end, completing this project felt as significant as finding water in the desert...