I’ve shipped multiple Google Editor add-ons, and after a few attempts, I stopped treating them like “scripts” and started treating them like real products.
Here’s the approach that finally worked for me:
1. Keep Apps Script thin
Apps Script is great for editor integration and OAuth, but painful for everything else.
I use it only as a bridge, entry points, permissions, and communication.
2. Move the real app outside Google
React frontend
External backend (API, auth, billing, DB)
Proper environments (dev / prod)
This removes most runtime, tooling, and scaling limitations.
3. Build like SaaS from day one
Authentication and user identity
Billing and plans
Analytics and error tracking
Versioned deployments
4. Accept the tradeoffs early
Yes, it’s more complex than pure Apps Script.
But it’s much simpler than trying to bolt these things on later.
I wrote a short technical overview of the full architecture here (no fluff):
https://www.shipaddons.com/docs/quick-overview
Hopefully useful to anyone thinking about shipping a serious Google Workspace add-on.