One source of truth
Current and future capacity in a single data model, with clear ownership, source lineage and freshness.
A single, trusted home for data centre capacity that arrives as messy emails, PDFs, calls and spreadsheets — turned into governed, searchable, revenue-ready data with AI and a human check at every step.
SPYRE's business depends on matching high-value capacity requirements against fast-changing global inventory. The current workbook holds valuable intelligence, but the process around it relies on manual updates, disconnected opportunity tracking and individual memory. Each new hire and each new client widens that gap.
Data centre capacity information at SPYRE comes in as messy, relationship-sourced updates — an email, a PDF attached to that email, a phone call, a text message, or a spreadsheet — each in the operator's own format and on the operator's own schedule. Today, a person must read every update, remember it or key it into a spreadsheet by hand, and hope every other copy of that spreadsheet gets updated too. This creates four concrete risks for SPYRE:
This proposal is built to solve exactly this problem: turn messy, relationship-sourced capacity updates into a single trusted, governed and searchable record — with AI doing the reading and a person always doing the final check — before that record becomes revenue-ready data.
Turn SPYRE's spreadsheet-driven inventory process into an AI-assisted capacity platform that centralises inventory, connects opportunity management, automates client outputs and gives leadership real-time visibility — without asking operators to change how they share information.
Proceed with a platform-first Phase 1 covering inventory, intake, search, lifecycle control, approvals, analytics and outputs. Keep Salesforce as a supported integration adapter and activate it once the operational data model is proven in production.
Current and future capacity in a single data model, with clear ownership, source lineage and freshness.
Approval-controlled reservations and enforced lifecycle states prevent the same capacity being offered twice.
Contracts, client portal, CRM sync and deeper intelligence extend the same foundation — no re-platforming.
The supplied workbook contains seven operating views, including a 48-column master site tab, supplier outreach tracking and client-specific opportunity lists. The future system must work with the way operators actually share information — while removing the coordination risk of doing everything by hand. To make this concrete, this working platform imports the real workbook: 199 source rows produce 156 canonical records, and the one incomplete stray cell is isolated as an error rather than silently guessed.
Capacity changes are keyed in by hand and go stale quickly.
Upload, row-level validation, source traceability, staleness alerts and a controlled commit step.
Misspellings and mixed conventions make search unreliable.
Normalised operators, locations, lifecycle values and quarterly capacity schedules.
Opportunity and inventory context lives with individuals.
Ownership, shortlists, notes, approvals and audit trail stay attached to the record.
Inventory and Salesforce run independently once a match is found.
Search, shortlist, reserve, propose and place capacity in one flow, with a Salesforce adapter.
Available, reserved, LOI and sold states are applied inconsistently.
One active reservation per site and manager approval on protected transitions.
The same data is copied, redacted and reformatted for every client.
Branded briefs built from an approved shortlist, with the exact data and redaction snapshot retained.
Each value claim below is paired with the metric that will prove it. Baselines are captured during discovery so that improvement is measured against SPYRE's real starting point, not an assumed one.
| Outcome | What changes | How it is measured |
|---|---|---|
| Risk control | One active reservation per site, validated transitions and approval evidence remove silent double commitment. | Conflicting reservation attempts blocked and explained by the system. |
| Inventory currency | Verification dates, aging thresholds and data-quality indicators keep the register trustworthy. | Share of active records verified within the agreed age threshold. |
| Speed to shortlist | Natural-language and multi-attribute search replace manual spreadsheet scanning. | Time from requirement capture to a saved, reviewable shortlist. |
| Intake efficiency | Structured intake with human review replaces re-keying from emails and files. | Time from receiving an update to an approved structured record. |
| Output efficiency | Redacted, branded briefs are generated from approved inventory in minutes. | Proposal preparation time per opportunity. |
| Governance | Every material lifecycle and output action is attributable to a named user. | Audit coverage of material actions. |
The model is designed around unstructured, relationship-sourced information. Operators keep sharing updates the way they do today; SPYRE gains control at the point of intake.
An email, PDF, spreadsheet, call note or text update enters AI Intake or Excel Sync.
AI Intake proposes each field with a confidence score and the exact source text — nothing is saved yet.
A SPYRE team member approves, corrects or rejects each field; any conflict with an existing record is flagged first.
The published record is searchable immediately; Sales shortlists it and reservations require manager approval.
A redacted, versioned output is generated; opportunity status can sync to Salesforce.
Available → Under Review → Under LOI → Reserved → Sold → Released, with Withdrawn as a manager-controlled exception. Every transition is validated, reservations require an opportunity, Sales requests are manager-approved, and the database itself blocks a second active reservation on the same inventory.
The scope below maps directly to the functional requirements in SPYRE's Scope & Requirements document (FR-1 to FR-6). The working platform accompanying this proposal already implements the core flow using the shared workbook.
| Included in Phase 1 | Deferred, with its dependency |
|---|---|
| Web platform, backend API, PostgreSQL schema, two internal roles, imports, workflow, analytics, HTML/PDF outputs, audit trail and deployment package. | Deferred item removed — single-document AI extraction for a pasted email, uploaded PDF, call note or chat transcript is included in Phase 1 as AI Intake. |
| AI Intake: confidence-scored field extraction, conflict detection and human review for one document at a time, as described above. | Automatic inbound connectors that pull messages directly from a live mailbox or phone/call system — require the target mailbox/telephony access and are a later integration step, not a Phase 1 dependency. |
| Salesforce-ready integration configuration and object mapping view. | Live bi-directional Salesforce sync — requires OAuth credentials, object definitions, sandbox access and Phase 3 approval. |
| CLM integration boundary and status model (CLM: Contract Lifecycle Management — agreement stage, effective, renewal and expiry dates). | Live CLM connection — Phase 2, once the product and its API or structured export are confirmed. |
| Internal manager and sales access. | External client portal — Phase 2, pending legal and security review of operator confidentiality obligations. |
SPYRE's scope leaves internal visibility definitions open. During discovery we will confirm whether commercial rates, operator contacts and notes need further field-level restriction by user, team or opportunity.
This working platform runs on Docker Compose. Production uses the same containers on a managed cloud platform, adding managed PostgreSQL, object storage, an identity provider, monitoring and automated backups.
In plain terms: a user uploads or enters an update → the system extracts and validates fields → a person confirms the change → approved data lands in PostgreSQL with source and audit evidence → the team searches and shortlists → a manager-approved reservation locks the inventory → outputs and optional CRM updates are generated from the same controlled data.
| Layer | Technology | Rationale |
|---|---|---|
| Web application | Responsive HTML / CSS / JavaScript | Fast, accessible interface with no plugin dependencies. |
| Backend API | Python FastAPI | Strong validation, clean APIs, asynchronous capability and straightforward AI integration. |
| Database | PostgreSQL | Reliable concurrent transactions, row locking, JSON flexibility and reporting support. |
| File storage | S3-compatible object storage | Source traceability and versioned documents kept out of database rows. |
| Deployment | Docker on a managed container platform | Identical packaging across local, test and production environments. |
| Integration | REST, webhooks and scheduled jobs | Connects Salesforce, CLM and future systems without tight coupling. |
Two AI capabilities work together in this platform. TEDRA — ThirdEye Data AI Assistant — works inside both Manager and Sales views: it inherits the signed-in user's permissions, cites the operational evidence behind every answer, declines what it cannot support, and asks for explicit confirmation before changing data or creating an output. This delivers the AI-assisted query capability in FR-4.3. AI Intake is the second capability: it reads one operator document at a time — a PDF, an email, call notes or a chat transcript — and proposes each field with a confidence score and the exact source text, so a person only has to check and confirm, not retype everything by hand. This delivers the AI-assisted extraction capability in FR-1.
| Capability | Sales | Manager | Control |
|---|---|---|---|
| Search and explain inventory | Permitted records | All operational records | Database evidence shown with each answer |
| Opportunities and shortlists | Assigned opportunities | All opportunities | User confirmation plus audit event |
| Lifecycle change | Creates an approval request | Applies a valid transition | Transition rules and reservation lock |
| Approval decision | Not permitted | Approve or reject | Manager role plus confirmation |
| Proposal generation | Assigned shortlists | Any permitted opportunity | Versioned snapshot and redaction profile |
| Web research (optional) | Clearly labelled external lookups | Isolated from ERP data; cannot write | |
| Control | How it works | Acceptance evidence |
|---|---|---|
| Field-level accuracy | Each extracted attribute is measured separately against a ground-truth test set built from real SPYRE documents — never a single vague "accuracy" number. | Precision and recall per critical field. |
| Confidence handling | Low-confidence, conflicting or missing values stay in the review queue; nothing is auto-published. | Exception queue with reviewer decisions. |
| Source traceability | Every record retains its original source reference and mapped values for audit and correction. | Record-to-source linkage verified in UAT. |
| Drift monitoring | Rejection and correction patterns are tracked as operator formats change over time. | Monthly quality trend and retraining rule. |
TEDRA, Smart Match and AI Intake all use deterministic language and pattern matching, governed database queries and explicit evidence today — none of them needs an external model key, and no SPYRE data or operator document leaves the platform for these features to work. Missing business values trigger a clarifying question rather than an invented answer, and AI Intake never writes to inventory without a human confirming the result first. Production can add an approved model provider behind the same retrieval, permission and confirmation controls, if SPYRE wants to extend accuracy further.
| Decision factor | SPYRE-owned platform | Salesforce-led custom build |
|---|---|---|
| 30+ fast-changing inventory fields | Strong fit — purpose-built schema and UI | Possible with significant customisation |
| Unstructured intake with human review | Strong fit — native workflow | Requires custom intake orchestration |
| High-ACV sales continuity | Connected via adapter | Strong fit — native opportunity process |
| Future CLM, portal, market intelligence | Strong fit — shared platform services | Greater cross-cloud and custom dependency |
| Long-term optionality | Higher | Lower once CRM customisation becomes the core |
A planning proposal, not a committed schedule — it is confirmed after discovery, source-system access, security review and agreement of acceptance baselines. Each gate below must pass before the next stage proceeds.
Workshops, process maps, field dictionary, role matrix and success baseline.
Wireframes, data model, security and integration design.
Migration tooling, workbook parsing, validation, traceability and review queue.
Central records, lifecycle, approvals, reservations, ownership and audit.
Smart Match, dashboards, saved lists, redaction and proposal generation.
Performance, security, monitoring, backup and adapter readiness.
Migration rehearsal, user acceptance, training, release and hypercare.
Field dictionary, workflows, roles, redaction rules and acceptance baseline approved.
Representative imports reconcile with source, with no unexplained record loss.
Search-to-reservation flow passes functional and concurrency tests.
Named users complete end-to-end scenarios; all critical issues closed.
Production environment, backups, monitoring, training and handover complete.
| Forum | Cadence | Purpose |
|---|---|---|
| Product working session | Weekly | Workflow and field decisions, demo review and backlog with SPYRE operations. |
| Steering review | Fortnightly | Scope, risks, dependencies, timeline and phase decisions with sponsors. |
| UAT triage | Daily during UAT | Defect priority, evidence and retest ownership. |
Acceptance is based on observable behaviour: imports reconcile to source with visible warnings; role restrictions and approval rules hold under test; conflicting reservations are blocked; redacted outputs contain only the selected sites with their snapshot retained; and named UAT users complete the agreed scenarios without engineering help. Performance and availability targets are set after production volumes are confirmed in discovery, and no critical or high security issue remains open at go-live.
SSO and MFA in production, role and field-level controls, session security and clean de-provisioning.
TLS in transit, encrypted managed storage, a secrets manager, restricted file access and tested backups.
Named-user events, central logs, application metrics, alerting and dependency vulnerability review.
| Profile | Included | Use |
|---|---|---|
| Local demonstration | Docker Compose with the application, PostgreSQL, Nginx and the seeded workbook. | Evaluation, workshops and controlled demos. |
| Non-production cloud | Container service, managed database, object storage, central logs, test identity and CI/CD. | Development, integration, QA and UAT. |
| Production | Private networking, database HA, encrypted storage, SSO/MFA, secrets, monitoring, backups, WAF and release controls. | Daily multi-user operation. |
The included Docker package is a functional platform and deployment baseline. Production release additionally requires environment-specific SSO, TLS and domains, secret rotation, vulnerability scanning, backup-restore testing, capacity testing and final security approval.
All three phases build on the same platform — nothing here is a separate project. Phase 1 is the committed 16-week plan described in Section 10. Phases 2 and 3 are the future vision for this same platform, planned but not yet started, and their timing depends on Phase 1 going live first.
| Phase | Scope direction | Timing | Entry condition |
|---|---|---|---|
| Phase 1 — Capacity intelligence platform | Central inventory, AI Intake, Excel Sync, lifecycle and approvals, Smart Match, TEDRA, redacted proposal outputs, analytics and audit. | Weeks 1–16 (committed plan) | Discovery workshop and scope sign-off (this proposal). |
| Phase 2 — Contract and client visibility | Read-only CLM status and key dates, record linkage, alerts, an isolated external client portal with authorised documents and inherited redaction. | Weeks 17–28, indicative (10–12 weeks) | Phase 1 validated in production; CLM API or export confirmed; legal sign-off on external exposure. |
| Phase 3 — Salesforce and extended intelligence | Bi-directional Account, Contact, Opportunity and Revenue Line sync, commission continuity, advanced analytics, proactive matching and mobile. | Weeks 29–42, indicative (10–14 weeks) | Salesforce sandbox and object model confirmed; Phase 1–2 data contracts stable. |
The Phase 2 and 3 timings above are directional planning assumptions, counted from the end of Phase 1 — not commitments. SPYRE's own scope notes that Phases 2 and 3 may change based on Phase 1 outcomes.
No budget, rates or hosting tier was supplied, so this proposal does not invent a commercial commitment. After the discovery workshop, ThirdEye Data will issue a scope-linked estimate covering one-time implementation, recurring infrastructure and licence costs, support, payment milestones and optional Phase 2–3 items — each component tied to the phase gates above (discovery to Gate 1, implementation to Gates 2–3, deployment to Gates 4–5, followed by a proposed four-week hypercare and agreed support tier).
The attached Docker package makes the next discussion concrete: SPYRE can test both roles, import a workbook, create an opportunity, shortlist sites, request and approve a reservation, and generate a redacted capacity brief.