Better decisions before more code
Many web projects become difficult because the team starts with a theme, framework or feature list before agreeing on the business problem. We start earlier: who needs the system, what they need to accomplish, which information supports that task and who will own the result after launch.
This approach applies to a five-page business website, a large service architecture and a database-backed booking platform. The scale changes; the need for clear requirements does not.
Build the simplest durable system that meets the real requirements and can evolve without trapping the owner.