Vibe Coding Using Amazon Q CLI

Vibe Coding Using Amazon Q CLI

I have always enjoyed geeking out over technology, but I haven't actively written code for a few years. Welcome to the world of "vibe coding" - a software development approach that relies heavily on AI tools to generate code based on natural language prompts.

In under an hour, I created a simple Python-based web application that connects to my Strava account and provides a summary of my activities across a date range. I used Amazon Q CLI to generate this app. Aside from the initial glitches, I am generally pleased with the overall experience. It used Anthropic Claude 4 Sonnet as the LLM for code generation.

The app is available at github.com/arun-gupta/strava-stats. You can clone the repository, follow the instructions, and connect it to your own Strava account to get a feel for it. It is pretty straightforward!

This is how it looks:

Article content
Vibe Coding - Strava Stats using Amazon Q CLI

This was my original prompt to Q CLI:

create a Python web application in a new directory strava-stats that accesses my Strava account, asks a start and end date, provide a pie chart of different types of activities in that duration. It should provide a summary of running and walking mileage, calories burned during that time, and how much percentage of workout is done in each zone.

After an initial few prompts, I took the settings of "always allow", and the tool went into autopilot mode. It generated all the code files using the Flask framework, including a detailed "README.md" file. The progress was constantly reported on the console all along. It provided a complete summary of what was generated:

Article content
Vibe Coding - Summary of Initial App Generation

The initial version of the app was not configured to run in a virtual environment, so I tweaked it further with the following prompt:

can you set this all up in a virtual Python environment

And then run the app with the following command:

run the app for me?

Running the app triggered a compatibility issue with pandas and numpy version. The tool caught it and continued to make progress with the following update:

I see there's a compatibility issue with the pandas and numpy versions. Let me fix this by updating the dependencies to compatible versions.

This is quite delightful, as I would not have been able to solve these dependency issues. Finally, the app ran successfully with the following output:

Article content

The app did not display the calories burned correctly, and that was another NLU prompt to fix it:

calories burned are not displayed correctly

Strava API does not always include 'calories' in the activities response. Q CLI decided to estimate the calorie count per activity and then updated the web application.

Now, to add the tooltip about calorie estimation, another NLU prompt:

can you show the tooltip of calories estimate when I over the Calories Burned box?

Q CLI added the tooltip for Calories Burned and to other stat cards as well.

Finally, I could push this app to my public GitHub repo. Q CLI guided me with exact instructions on what needed to be done, and even performed most of the commands. This was the joyful output:

🎉 Success! Your Strava Stats application has been pushed to GitHub!

One final tweak using NLU:

the analysis page needs to show the dates for which the analysis is performed, can you make that change?

Another push to the GitHub repo with NLU prompts, and voila!

The vibe coding experiment initially started with Cursor , but it kept giving this error:

Article content
Vibe Coding - Cursor EROFS error

The tool could not fix it. This question was asked by multiple developers on their community forums with no apparent solution. Deepanshu Agarwal convinced me to try out Q CLI and provided me with the debugging support as well. I'm pleased with the overall experience.


Cool Arun Gupta - good for fitness education which most people need more of. Want real results though? You need a real personal trainer, a human, preferably a CSCS :)

Like
Reply

The future of software dev is NOW

Like
Reply

I now use Amazon Q Developer CLI every time when I need to develop something, troubleshoot and create a solution or even analyze docs. I find vibe coding as a really great way to learn. I newer use Trust all option, rather prefer to review and accept each suggestion/action from Q and learn along the way.

This is a great take on using vibe coding with AI tools for faster development, Arun Gupta Thanks for amplifying this balance between speed and control.

To view or add a comment, sign in

More articles by Arun Gupta

Others also viewed

Explore content categories