Hey Exodus, thanks so much for reaching out and for sharing all these details—welcome to the Streamlit community!
Sorry to hear your app is running into trouble after months of smooth sailing. Let’s break down what’s happening and how you can start troubleshooting.
Your app is almost certainly hitting Streamlit Community Cloud’s resource limits, especially with a growing dataset (~203,000 rows) and multiple users. The current limits are about 2.7GB RAM max (with throttling starting at 690MB), 2 CPU cores, and 50GB storage. When these are exceeded, you’ll see errors like “Oh no. Error running app” or health check failures (e.g., connection reset by peer), and sometimes odd session or fragment messages. These are classic symptoms of memory or resource exhaustion, especially if the app crashes even without user activity or after several users interact with it. Caching with @st.cache_data is recommended for large datasets, but if you’re running into issues with Google Sheets, you may need to optimize how/when you load and cache data, or consider moving the data to a more scalable backend. For non-profit/educational use, you can request a resource boost, but responses may take time and are not guaranteed. For more on resource limits and optimization, see the official docs and FAQ.
To help the community help you, please share a minimum reproducible example or your memory logs if possible. Also, check out the resource optimization guide for tips like using st.cache_resource for shared objects, limiting cache size with ttl/max_entries, and profiling memory usage. If you haven’t already, try reducing the dataset size or optimizing queries to see if that stabilizes the app. Community members—feel free to jump in with your own experiences or suggestions!
Sources: