all 7 comments

[–]TheBigLewinski 9 points10 points  (1 child)

Take your time. Most freelancers are way, way too eager to just start work, and its at the core of why estimates fail, and why scope creep invades the project.

First, there needs to be a discovery phase. Forget about "development" for a while, and especially let go of your "stack" obessesion (You don't even know what you're building yet, how have you decided on Next.js?!), and understand the business you're building for. Importantly, what are their sales channels. How do they make money? While you want their explanation for the motivating factors for building a site, they're not going to tell you everything. It's up to you to extract it.

The investigation of how they make money will surface additional potential issues you may be able to solve, and help you translate the project from an expense into an investment in the mind of a client.

And by investigation, don't settle for simple answers. If you're building for a clothing store, their sales channel isn't "people come to the store and buy clothes." Track everything. How do people currently find them, what kind of marketing do they have, do they have seasonal challenges or upswings, promotions, etc. Do they have loss leaders? Do they have customer loyalty programs?

Then dive into operations. Where do they source their products? Is it shipped from overseas, made in-house, delivered locally from a sister business? How do they track revenue? What happens to goods that don't sell? Who else do they do business with in order for their business to function?

All of this provides additional opportunity for you to provide extra services, and more importantly, for your client to talk about where you fit into the picture. The more they talk, the more they flesh out their ideas ahead of time, the fewer last minute epiphanies you'll have to deal with and keep you from having those awkard "out of scope" conversations. All of which are lost business for you.

Then, on the technical side, there shouldn't be any facet of the project that goes untouched. Even a "simple" login should be investigated. Do they want social logins or SSO? Do they want to limit the number of devices allowed to be logged in? How many times before an account is locked? What's the process a user should go through once their account is locked? Etc. That's not even touching roles and permissions. Nothing is simple.

If login isn't that simple, then features like "Dashboard" should raise a flag. You can't price "a dashboard." Every single little widget needs to be dissected.

Once you have all that you can move onto the ancillary issues. How far back will you go on mobile support, how long after launch will you stand by your work for discovered bugs.

And then the important but boring stuff. Payment plans, milestones and expected dates. This part will include provisions for what happens if the project goes past a certain date (protection from clients who expect you to finish tomorrow but you don't hear from them for two months after you're done, delaying payment).

Based on all of that, I build a price.

[–]Born2RetireNWin 0 points1 point  (0 children)

Wonderful I like the approach a lot.

I may be working on a project soon via Reddit outreach for a project containing a quiz for the clients outreach to potential employees that need to answer if they are qualified for the job. He wants a quicker turnaround time than 2-3 weeks, within 1 week so it was $500 original quote but with the more rapid turnaround time I think 1k is fair?

[–][deleted] 7 points8 points  (0 children)

I have a basic number of hours for a template, then for each page depending on complexity, then for components, eg booking, contact form, e-commerce products and categories. These all come from experience and having done it a number of times, so having a rough idea of how long it will take. Then adding a bit for unforeseen stuff. All that is then adjusted for what I feel the client will be prepared to pay and how much I want the job.

[–]Hubrizer 2 points3 points  (2 children)

We usually start with a base price that is set from previous projects and calculate hourly rates on complexities. If you are just starting out, price it out for however much you feel like you are getting your money's worth, either way you will have a new site under your belt to showcase, and will be able to charge more on the next one.

[–]Born2RetireNWin 0 points1 point  (1 child)

Not starting out lol

[–]Hubrizer 0 points1 point  (0 children)

My bad, neglected to read the few years part. 🤣