Why I developed this application
I used to work as a software engineer for a Japanese company that manufactured calculators.
When I thought about creating an application using Kiro, I suddenly thought of a calculator. It was easy to imagine the specific specifications, and I wanted to add some functions if I dared to use a calculator without hardware.
Development Strategy
Since this was my first time developing an application with Kiro, I dared to use both Specs and Vibe coding to look for best practices.
In this case, a firm specification was not yet ready. I decided to take a strategy of modifying the specifications based on what was being produced, fine-tuning them with Specs, and if they were not good enough to change the specifications, I would complete the application with Vibe coding.
In other words, I decided to develop Kiro through trial and error.
On the other hand, I thought that trial and error tended to consume too much credit. I could have used them in detail, but this time I decided to give priority to using Auto, which has excellent cost performance.
Check Point
Check Point was an important feature in the trial and error process.
This time, since the calculator has no hardware, I dared to develop an application that has multiple functions. So, even if I made drastic changes that would have a negative impact on the context (which is not that easy to do), this feature would return both the code and the context to a specific Check Point. Thanks to this feature, I was able to try out the implementation and get a better idea of what it would look like.
Creating and reviewing broad requirements in Specs
I started by setting up the following functions in broad strokes
- General calculator
- Configuration changes
- Tax rate calculations can be configured
- Can change the display theme
After the initial requirements.md was completed, I reviewed it and decided to add additional, non-general calculator functions.
- Calculator for date and time
- Calculator for length and weight unit conversions
Automatic generation of Steering
I think it is better to do Steering first, so that the requirements in Specs can be more detailed. However, since I did not have much experience with Kiro, I decided to create the Steering files after proceeding with the rough development in Specs.
Selecting the Project steering files at the bottom will still the steering file using the context of the current workspace, so take advantage of it.
Specifying the core functionality of the application
Did you know that calculators have a limit on the number of digits they can display?
I thought it would come across naturally if I specified it as a general calculator in Specs only, but it seems that I need to be explicit about that.
I think Specs like this would be fine, but I decided to set it to Steering because it was a feature that I wanted to make sure was adhered to in this application.
I was grateful that I could rewrite the Steering file by making a request via chat instead of manually.
Support for languages other than English
I am Japanese and do not use English frequently. Therefore, I thought that using English for all development would reduce the efficiency of development.
Therefore, I wanted to answer chats in Japanese and display the application in English.
I first gave instructions in Vibe, but it did not work perfectly, and there were some omissions in language conversion, so I set up Steering to force the use of Japanese for chat responses and English for application display. This made it easy to develop in languages other than English without having to specify repeatedly.
In addition, since I were chatting in Japanese, I also set up Hooks to convert Japanese to English when saving files, since Japanese may be mixed in during the process.
Application screenshot
- General calculator
- Calculator for date and time
- Calculator for length and weight unit conversions
- Configuration changes
- Tax rate calculations can be configured
- Can change the display theme
Concerns and summary of the finished development
- I thought it was a best practice to develop with Specs after completely finalizing the specifications.
- Vibe was basically useful to speed up development even when the specifications were vague
- In addition, they can help with source code generation as well as steering and MCP configuration if you ask them
- If you can't write the core steering for your application requirements, you can go ahead and develop with Specs first and then let Kiro do the generation for you
- If your development is multilingual, you can set up steering to switch languages between chat answers and application display








Top comments (0)