Judging by your question, you haven't done this before. I think you've got this backwards. It isn't really about what questions you need to ask the engineer to make sure it is done "right" but rather what you think right is?
1) Do you have a set of scenarios that that your customer is going to inhabit to use your app?
2) Do you have a set of wireframe drawings of your app?
3) Do you have a set of transitions between your drawings?
How do you know that you have it right before you start any implementation work?
You will need to negotiate with your engineer about not just a schedule but really a deployment, user test and reimplementation schedule. Your biggest problem is going to be your design and how it misses what a random, uninvolved user would want to do with your app. Then you will need to revise your design and then reimplement. This cycle could take three or four iterations.
Hence, ask yourself first. Ask trusted technical advisors second. Ask uninvolved potential users third. Iterate that last bit a few times. Then ask an engineer to get involved. And get ready to do this loop multiple times.