Today we hit a major performance roadblock. Our system uses Google Sheets as the backend database, and we discovered that having all module data in a single spreadsheet with 10+ sheets was severely slowing down loading times.
When multiple modules access the same spreadsheet simultaneously, it results in long fetch delays, causing the interface to lag. This became especially problematic as we added more features and users.
To resolve the issue, I proposed splitting the database—giving each module its own dedicated spreadsheet. This approach allows modules to run independently, improving load times and reducing conflicts between data fetch operations.
The team quickly approved the idea, and I created a migration plan. This involved creating new Google Sheets, mapping existing data, and updating the corresponding Apps Script links in the backend.
Initial tests already showed drastic improvements in response time. The system now loads module data faster and more reliably, a crucial step as we scale the app.