Hi @rvelton,
Welcome to the Instructure Community! Hopefully you'll get some good guidance here for your project.
I've been a Canvas admin for a higher-ed institution for about 11 years now and work with installing vendor LTIs in that role. I do have a CS degree and dabble here and there with the development work with Canvas API and JavaScript/CSS.
With those two things in mind, I can pretty confidently tell you that what you're looking to do is not going to be possible with only Teacher API/Developer Key tokens. While Canvas does have a permission option to let teachers submit assignments as a student, I do not believe that functionality extends to quizzes. I believe you'd need either an admin api token which would have the option to masquerade/act as the students, or you'd need to have the students authorize developer key access and then submit via the API using the student user itself. Since you want to interact with existing Canvas quizzes (either Classic or New), I don't think LTI is going to be helpful here at all.
Once you get a token that can submit, you'll still need to take some edge cases into account... If a student already has a quiz submission for the quiz in question, what would you do? There could be only one attempt allowed, so you might need to do error handling/messaging on your side. Similarly, there could be an in-progress quiz attempt, and I'm not sure what the options would even be at that point. If students followed directions, you probably shouldn't run into those cases, but you probably should plan to account for them.
Now from the admin side of things, if we were adding your app here, we'd definitely be asking you questions about how you'd handle the above scenarios. I'm honestly not sure if an app like this would be approved just because of the access required and what other things that access could open the door to, even though I'm sure you have no intention of doing anything improper. I'm assuming you're somewhat aware of this and is why you were asking about options here in the community... It's really the mixing of the Canvas and paper/external tool stuff that causes the issues as far as I'm aware. If everything for the assignment went through your app, this would be a perfect LTI situation, but you don't want to have to build online quizzes in your app (which totally makes sense to me). This is tough, as your use case makes total sense, but really isn't quite covered well in Canvas.
I just wanted to give you some background to think about and get started. Someone else may come in and give you some more specific info on API endpoints and procedures.
-Chris