I'm creating a Vue Progressive Web App that collects user photos and allows them to be labelled, thus creating custom machine learning datasets for Google Cloud AutoML Vision.
Ideally this app would allow a client / browser to interact directly with Google Cloud's AutoML Vision setup. Ideally, there would be no server-side code, so the client would need to authenticate directly with the Google Cloud Platform (Perhaps Google Sign-in?), and select their project/bucket.
How would I go about connecting to the Google Cloud Storage and Google Cloud AutoML Vision platforms? Is this approach feasible?
The end goal is that a user of this PWA could take a photo (existing or taken with camera app), upload it (with or without a label), and both the label and the image would be stored on the Google Cloud AutoML Vision platform (or Google Cloud Storage bucket). This would allow a user to quickly collect a large amount of photos in the field and label them either on-site (in the PWA), or later on the Google Cloud AutoML Vision platform. By collecting a large dataset of photos and labels, they could create their own image classification model.
I'm trying to avoid any server-side code, as I would like for this to be entirely tied to the user and the Google Cloud Platform, without any data needing to be stored on a third-party server.
I've already found that @google-cloud/automl and gapi library doesn't really work well with Vue Progressive Web Apps (nor does it work well with webpack in general).