4 ms·
Make sure you have a tight scope, have a note that features beyond that scope will happily be quoted and approved by them as an additional milestone/fee. Break
by saluki 8y ago
Make sure you have a tight scope, have a note that features beyond that scope will happily be quoted and approved by them as an additional milestone/fee.
Break the project up in to milestones.
I would move your estimate up to 300 hours (or more if you think they have the budget for it). And break it in to 10 milestones, over a time of 10 weeks. (or 2 week milestones if you've worked with them before, and they pay reliably)
I would probably not show hourly amounts in your estimate but I would use at least $50/hour for your quote/estimate for total fee of at least $15k.
Work through the project milestone by milestone, you complete a milestone, setup the app on a test location, they review that milestone, give feedback and pay for that milestone. If you have worked with them before you could go 2 weeks at a time if you/they don't want weekly invoices. The important thing is you don't do too much work without them seeing it, testing it and paying for it. That way you are both happy with the project.
Use stripe for payments/subscriptions.
I know you're mainly React and Python, and considering Flask but I would check out Laravel (it has Laravel Cashier built in for working with Stripe Subscriptions, there is also Laravel Spark (SaaS in a box using Vue for the front end). These could save you some time.
If you can build it don't discount yourself, there are lots of seasoned developers that would have trouble with this and you will too, you will bear that cost in extra time figuring things out that you didn't expect to take you very long.
Include a monthly fee for maintenance, updating the framework as new versions are released, automated backups, etc. This shouldn't be a non-trivial amount. Maybe set it up as an annual maintenance fee, include it in your quote for the first year, and then invoice them after the first year.
Good luck with your first large app.
- dariuscosden 8y agoThanks for taking the time! That milestone idea is a really great one actually. It minimizes the risk of conflict or dissatisfaction a lot and I really like it. They already have a website and want to completely switch over to something new with a brand new design and all. They already have existing clients and it's all on stripe already, so that's good. I just have to set it up on my end via their API. I looked at Laravel but it's PHP. I know little of PHP. I mean, I could figure it out but there is a deadline for this project and I feel my time would be better spent working with what I already know (especially since I've built payments/subscriptions through stripe specifically using Flask and I didn't find it too complicated). I am expecting that the extra time it would take me to learn an entire new framework would be more than the time it would take me to figure out how to do it in Flask. Thanks for the maintenance fee tip. I also wasn't too sure how to structure that but it will be included in the quote for the first year.
- saluki 8y agoDoing milestones prevents them being unhappy with the app when it's complete and you unhappy because you aren't being paid. Stick with what you know, was just throwing it out there. y, it's important to keep the framework updated, and things running properly. Plus gives you a nice recurring fee. Good luck.