I'm somewhat new to Test-Driven Development, so I wanted to challenge myself to exercise those skills. Some of the tests I have written may be too verbose or ultimately unnecessary in production code. I lack the confidence in those techniques to know for sure if I am implementing best practices, but I needed the practice and growth. The decision to implement TypeScript, too, was related to the decision to attempt a relatively test-centered approach. It has been a joy to understand further by experiencing the helpfulness of these awesome technologies. I do feel that TS's readability suffers sometimes, or maybe I am bad at this and should not have used imperative DOM selectors on the document. I tried a number of different strategies for controlling focus state, and it was tough in all directions ... having never manipulated focus on elements before.
I wanted also to challenge myself to implement meaningful version control. Again, I'm not entirely certain what this looks like in a career production mode, I'm only certain that it is an essential skill. I am happy that I opted for this, as it is helping me to conceptualize projects in smaller pieces and exercise the crucial ability to slow down a bit sometimes, maybe have a chat with the rubber duck.
For my own process, it felt necessary to build the requirements for steps 3 and 4 simultaneously, as I couldn't effectively build out the rows and their styling without first establishing the data exchange logic between components.