Our landscape construction firm juggles dozens of jobs at any given time, and I need a cloud-based system that tracks each project from the first bid through final hand-off. The core will sit on Firebase so the team can enjoy real-time updates wherever they are on site or in the office. What I need you to build • A relational structure in Firestore that clearly separates bidding, construction, and close-out data yet lets us call up every contract, invoice, plan, or photo in seconds. Documents themselves should live in Firebase Storage, linked back to their parent records. • Robust, role-based user access: estimators see bids, project managers see active jobs, finance sees invoices, and admins see everything. • Instant synchronization so two people never overwrite each other’s notes or quantities. • A clean interface (web or mobile—your call) that lets staff upload files, tag them to a project and document type, and search across all jobs. • Clear documentation so we can maintain and scale the schema as our volume grows. Acceptance criteria 1. Firestore collections and subcollections follow best practices for scalability (no orphaned writes, predictable reads). 2. File uploads automatically inherit the parent document’s metadata and permissions. 3. Role matrix demonstrated with at least three user tiers and a simple way to add more. 4. Concurrent editing tested—changes reflect for every active user within two seconds. 5. Deployment guide plus schema diagram delivered for future developers. If you’ve built Firebase apps with heavy file storage and granular security rules, this will feel familiar. Let’s create a database that finally brings order to our bids, contracts, and field notes.