Submit and edit font end custom post type

This is quite possible.

You want to pass into the form the user’s id and make them author of the custom post you create programmatically when they submit the form. Each user will have one post of that type. By default, when a user goes to that page, it will load a form with data from the only post of that type they have.

Optionally, for admins you can add the possibility of overriding user id with a get parameter so they could see the page as any other user (except other admins – don’t forget this check!) – this is quite useful when you have many users: it allows you to see the page as a different user and debug faster, without the need to log into their account.