This steps will explain it better. Very similar to how Uber operates
1) User fills out form
2) User is taken to a loading screen. Ex: Finding a professional
3) User gets message from professional. Ex: Zack accepted your project (View message from Zack)
4) Zack proposes a price to User
5) User pays Zack using built in Stripe payment
6) User enters into a private conversation with Zack from User Dashboard and Zack from his Dashboard. Zack is only available to message User if User accepts Zack to work with them.
5) Work is completed
6) Zack uploads work to user in Chat Message system. Message system accepts any attachment files, any size. Messages never delete. User has an Inbox section on their Dashboard.