Per user finance application

I'm curious if my use case is really well-suited for AppSheet.

I've built an application for personal use that uses a Google Sheet template that is widely used to collect financial and banking data for analysis and modeling. The AppSheet app links to specific worksheets within the workbook as tables for the app. I've built the views, interface, and visualizations for most of the common use cases and created a very functional mobile app to work with this data source.

However, for this app to have value to the community, each user will need their OWN copy of the app linked to their own particular copy of the Google Sheet template used to aggregate and store their own data. The Google Sheet is totally independent from the AppSheet application and can/is used outside of AppSheet for other purposes. However, the worksheets used by AppSheet are never structurally modified - data is just added.

Is this a valid use case for AppSheet and, if so, what's the deployment model?

0 2 67
2 REPLIES 2

It certainly sounds like you've developed a robust personal finance application using AppSheet, and the idea of deploying it for broader use is an excellent one. 

To your question regarding whether each user can have their own copy of the app linked to their own Google Sheet:

  • AppSheet does indeed support this kind of personal use case through a feature in the data source settings that allows users to have their individual copies of the data source. This feature, when enabled, prompts AppSheet to create a personal copy of the data source in each userโ€™s Google Drive the first time they access the app.

However, there is a trade-off to using this feature: it relinquishes control over the data source's structure to the users. Since users can modify column names, add or remove columns, apply spreadsheet formulas, and make other structural changes, it introduces potential risks and maintenance challenges.

It's critical that users understand they must not alter the data source structure to ensure the appโ€™s integrity and functionality. Clear and effective communication with your users about this requirement is crucial.

__________________________________

Another approach, which may be more suitable, is to create a single shared app that utilizes the โ€œCurrent Userโ€ system. This system allows you to maintain a single data source but provides user-specific experiences by differentiating data presentation based on the identity of the current user. Utilizing this system involves creating user profiles and implementing security filters or conditional expressions in your app to ensure that each user can only access and manipulate their personal data. 

If you decide to leverage the Current User system, you might find the ["Current User System"](https://www.googlecloudcommunity.com/gc/Tips-Tricks/Current-User-Slice-How-to-conform-your-app-aroun...) guide to be an invaluable resource for implementing this system in your app, ensuring that each user's data remains private and segregated within the shared app structure.

Best of luck with your deployment! 

Thank you for you detailed feedback. I have a few questions (and perhaps clarifications) that may throw a wrench in things.

  1. The Data Source that the AppSheet app must be linked to is independent of the application. It is a Google Sheet template that needs to be setup, configured, and synchronized with financial sources BEFORE the AppSheet application is linked to it. Currently, this particular sheet is leveraged and extended by many others in the community. My AppSheet application is simply a convenient "wrapper" to this product.
  2. I really don't want to centrally store users' financial data in my application regardless of the access or security model available to me. Just not a path I want to go down.

I guess what I was interested in is a deployment model whereby a user "installs" (copies?) my AppSheet application and the user is either prompted to link it to the existing Google Sheet (already setup and configured in their GDrive) OR I setup instructions for them to provide a document link to the Google Sheet as a configuration item.

Is this something AppSheet supports?

Top Labels in this Space