How a project runs
Paid discovery first: I read the existing system, talk to whoever holds the context, and write the scope. You own that document either way — if it convinces you to build something different, or to not build at all, it has done its job. Delivery then runs in stages with a demo at the end of each.
What you get at the end
The application, the repository, the deploy pipeline, the migrations, and documentation aimed at the next developer rather than at me. No licensing, no hosting lock-in, nothing that requires me to still be here in a year.
What I will turn down
Fixed-price work on a scope nobody has written down, projects where the deadline was set before the requirements, and rescues where the brief is to add features to something that needs stabilising first. I would rather lose the work than take it on those terms.