Skip to main content

Documentation Index

Fetch the complete documentation index at: https://grantmaster.dev/llms.txt

Use this file to discover all available pages before exploring further.

Load and Stress Limits

This document outlines the known performance boundaries and resource quotas of the GrantMaster platform.

💾 Storage & Data Limits

ResourceSoft LimitHard LimitNotes
PDF Uploads25 MB50 MBCloud Functions timeout at ~60s for extraction.
Images5 MB10 MBStandardized to WebP during upload.
Tasks per Project200500UI performance degrades in the Kanban view beyond 200.
Users per Tenant50250High-tier subscriptions can override this.

⚡ API & Processing Quotas

  • AI Extractions: 5 concurrent extractions per tenant. Subsequent requests are queued.
  • Rate Limiting: 100 requests per minute per IP for the External API.
  • Search Ingestion: Up to 1,000 documents per batch for bulk updates.

🕰️ Timeouts

  • Cloud Functions: 60 seconds (Standard), 540 seconds (Heavy AI tasks).
  • Database Queries: Firestore queries timeout if they scan more than 1M documents without an index.
  • Login Session: Users are automatically logged out after 7 days of inactivity.

📈 Scalability Roadmap

As we scale, we are monitoring the following “hot spots”:
  1. Kanban Rendering: Moving to virtualization for the Pipeline view to handle thousands of pursuits.
  2. Notification Batching: Consolidating thousands of individual events into single nightly digests via Novu.
  3. Cold Starts: Moving latency-critical Cloud Functions (like Auth and Billing) to “Minimum Instances” to eliminate cold start delays.

🛠️ Performance Testing

We run monthly load tests using k6 to verify that the system can handle 10x our current peak traffic (approx. 5,000 concurrent users). Reports are available in the SRE Dashboard.