When you are creating products, start from a holistic vision of what you want to arrive at. It’s true that you must build it one step at a time, but if you skip vision you’ll waste lots of effort trying to arrive at a good product. It’s fine if that vision changes as you go. It should. You can’t possibly know exactly how the vision will manifest, but without one you spend a lot of time trying random pieces and patterns, trying to find a way to get them to connect into something bigger.
Don’t try to build up from individually good patterns or ideas and try to arrive at a cohesive vision. Start by trying to design an ideal end-state. Let yourself not need to worry about how you get there. Let yourself imagine what is a great destination. Design that. Get at least a single screen, or picture of the ideal end.
Then start with where you are and figure out what you need to do to get there. As you work, you’ll find many ways to improve your end vision, you’ll find opportunities in the data, in the constraints and in the flow that make an even better end vision. Incorporate them. What this way of working does is ensure that you have a destination worth shooting for. It also provides a way to make it better as you go.
Design isn’t playing with legos (through I love legos, and I love playing). Ideally you’re inventing something new and better than what already exists, and you can’t do that by simply building with existing patterns. Take a leap, then figure out how to get there. This approach also ensures you arrive at a really internally coherent and consistent design. Combining pieces rarely results in a cohesive solution.
In the end your product is different. You overcome unforeseen obstacles with creative workarounds that change the design. You see new opportunities as you build. You find constraints in your budget or materials that force you to approach it differently. You eliminate pieces that don’t make sense as you work. But all of this is made possible by starting with a vision.