Developed Google App Script - how to sell it?

Joined
Dec 31, 2016
Messages
476
Likes
288
Degree
1
So I made a script that gets some data and updates it into a Google Sheet. Nothing major, just something that no one had done and I needed it. Think sales data across varying platforms. It seems like there is quite some demand for this kind of functionality.

I now am thinking of selling this sheet to others, but I am unsure on how best to do it.

The thing is, due to my health condition, I can't reliably meet deadlines and constant updates/support, so running it as a real stand alone app is not realistic on my own.

What I am then considering is simply selling it as a script + sheet + Google Data Studio template with installation, with no free support after that. I was thinking of charging $100-$150 one time fee for this package and then something like $75/hour for additional support if needed. Since I am getting this data from private (but free) APIs, the only updates needed would be if those APIs changed or if something changes in Google Apps Script. I suppose I could offer free updates the first year, then charge an additional fee. I honestly don't feel like doing this kind of work though, as I am not a full time coder, and the market is quite limited for this. I would guess no more than 100 potential customers, unless I am wrong. On the other hand, it would be a damn shame to turn down the opportunity for a real, recurring business.

How would you suggest I handle this, considering that it is a Google Script. Is there a plugin / app market for Google sheet stuff?
 

Steve

BuSo Pro
Joined
Dec 29, 2016
Messages
83
Likes
75
Degree
0
Write a proxy API, host it, have the sheets script call the proxy.
Now you can:
1. Limit access via API key
2. Fix 3rd party API changes in one place, rather than separately for each customer
3. Give the actual Google sheet away for free, with a limited trial (via a short lived api key)

Probably you can host the api for under a fiver a month
 
Joined
Dec 31, 2016
Messages
476
Likes
288
Degree
1
Write a proxy API, host it, have the sheets script call the proxy.
Now you can:
1. Limit access via API key
2. Fix 3rd party API changes in one place, rather than separately for each customer
3. Give the actual Google sheet away for free, with a limited trial (via a short lived api key)

Probably you can host the api for under a fiver a month
That's a great idea.

However...

Wouldn't that mean I had to rewrite the script in something else than Google App Script? I mean, it probably isn't too difficult or time consuming, but it would have to be done and that would delay "time to market". I know other solutions are on the way.

I could do it in Python though. Have it run on my Python Anywhere account. Then again, there we go again with having to learn new stuff. With an API, wouldn't I have to write something that could do multiple simultanous instances and such?
 

Steve

BuSo Pro
Joined
Dec 29, 2016
Messages
83
Likes
75
Degree
0
I'm not intimately familiar with Google app script, but the most basic way to do this is just replace the API calls in the script.

So where your script does a get request to some third party API, you replace it with a get request to your hosted API, that in turn calls the 3rd party API and returns the response.

So the Google apps script is basically unchanged.
Once you start though, you might decide it would be better to do the data manipulation in your API and reduce the complexity of the Google apps script.

As far as API programming language, that's up to you. Pretty much any language will be fine, but if you want a recommendation I would look at nodejs. I'm fairly sure Google apps script is based on JavaScript, so you should understand it easily enough.
It's event based model is very well suited to IO driven tasks like http proxing, and it's relatively light weight.
You can also host it for free on something like glitch.com, if you want a zero cost solution, or on a cloud platform (Amazon, digital ocean, hetzner cloud if your in the EU) if you want something more robust.

Using koa or expressjs as a routing layer, you could probably have it set up in a day

Oh and regarding simultaneous connections, any modern web stack will be fine. We have koa APIs on the smallest Hetzner cloud instances (3EUR a month) handling 15,000 requests a second. We have heavy laravel APIs on the same size instances handling around 1000 requests per second. I doubt a Google sheet with a 100 customers is going to hit more than a couple of requests per second, and that will be infrequently.
 
Joined
Dec 31, 2016
Messages
476
Likes
288
Degree
1
If I do this proxy api thing, is it an issue that I would essentially be able to see all data going through, including user names and passwords?
 

Steve

BuSo Pro
Joined
Dec 29, 2016
Messages
83
Likes
75
Degree
0
No idea, depends what type of data it is.
You might be able to avoid processing passwords (I presume for the 3rd party APIs?) with an oauth type setup.
Hard to tell without specifics.
 
Joined
Dec 31, 2016
Messages
476
Likes
288
Degree
1
I am now thinking about making this into a Premium Google Sheets Add-On. Isn't Supermetrics exactly that?