0

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).

  • are you kidding? without server side code ? – Bira Apr 09 '19 at 07:38
  • No, not really kidding. I figured via grpc-web, or something similar, it might be possible (user supplying creds, etc). I know there are security implications if using api keys, service accounts, and oauth secrets. Ideally, I really would like this to simply provide a user direct access to the AutoML Vision and Google Cloud Storage, via a cross-platform PWA. I know I'm asking a lot, but I'm not entirely sure I've ruled it as impossible yet. Of most concern to me is security. gapi already works with JS, so there should be some way of doing it. – Robert M Campbell Apr 09 '19 at 10:25

0 Answers0