I have unhappy news for you. Your design will never be perfect.
This can be very frustrating to some people. (Probably perfectionist people like me.) They We will spend days/weeks/months agonizing over a design trying to make it perfect.
But it can never be perfect. There will always be trade-offs. Some choices will make your app more maintainable. Others will make it perform better. Some choices will make your app easier to use. Others will make it easier to code.
In one recent design meeting, we focused on a decision between ease of data retrieval and a more descriptive data structure. Both choices are reasonable. The final decision should be made based on the project goals and the organization’s or team’s values. (In our case, we decided making it easier to retrieve the data was more important.
Don’t let your design process get stuck in a perpetual quest for perfection. Review the options, consider the trade-offs, and make a decision.