Git is a powerful tool for development. It allows persistence which makes you fearless! Why not leveraging it to work with client? I prefer to show my clients a real website, from the earliest stage. I use vercel to do this with a breeze. Because it supports git branch url out of the box. In this case, I am mentioning the latter. I start with v1 branch. When I make significant changes for clients to check, I create another branch with an incremented number. The result is like this: So they can check the changes across versions. Additionally, you can use a Headless CMS like builder.io to make their content changes by themselves. I am planning to write an article about how to use a headless CMS to leverage client communication.
When implementing an UI for requirement, we tend to think about "the page", in other words, top-down approach. Maybe we do that because of Wordpress or other frameworks. Top-down approach is good for identifying architectural decisions early on and allows you to think about user experience. However, when using bottom up approach, we focus on creating robust and reusable components. It allows us for incremental development. You can reinforce this approach by using Storybook as workshop environment and writing tests. Yeah cool... Can we combine them? Yes, you we can leverage aspects of both approaches at different stages of the development. First, start with top-down. Analyze which components are needed. Then, implement these key components bottom-up. Then, iterate it...