Two projects that both sound like "a customer portal" can differ by a factor of ten, and a quote that skips the questions is a guess. Roles and permissions, the number of workflows, integrations, data migration, and how polished the interface must be are what actually move the price.
Fixed price fits a clearly defined first version. Hourly fits work that will change as users teach you. The middle path you describe, a small fixed-price slice and then weekly increments, is how the first number stays honest.
At Ascendra Ventures we sell that first slice as one atomic technology problem: written scope, fixed price, and handover of the code, with must-haves separated from nice-to-haves before anyone estimates.
When a client arrives with "a customer portal," which cost driver do you unpack first: roles, integrations, or the data they want migrated?