§ 01
For the Technical Evaluator
If you're evaluating lease automation technology, you've probably seen demos and heard pitches. This post explains, from an engineering perspective, how LeasePilot actually works, the architecture, the design decisions, and the reasoning behind them.
§ 02
The Core Problem
A commercial lease is a complex document with several challenging characteristics:
- Interdependencies: Values in one place affect values elsewhere. Base rent appears in the lease body, the rent schedule, and various calculations. Change it once, update it everywhere.
- Conditional logic: Different scenarios require different language. A California retail lease needs provisions that a Texas industrial lease doesn't. A deal with percentage rent has sections that a flat-rent deal omits.
- Calculations: Rent escalations, pro-rata shares, operating expense estimates, these involve actual math that must be correct.
- Compliance requirements: State-specific disclosures, local regulations, property-type requirements. Miss one and you have a compliance gap.
- Institutional standards: Every organization has preferred language, fallback positions, non-negotiable terms. These need to be enforced consistently.
Traditional approaches (Word templates, generic document automation) struggle with these characteristics. We built an architecture specifically designed to handle them.
§ 03
The Layered Data Model
The foundation of the system is separating lease data into distinct layers:
Layer 1: Your Lease Forms
Your lease forms represent years of legal refinement. In LeasePilot, these are encoded as structured objects, not Word files. Each clause is a discrete unit with references to the actual language, metadata about when to include it, variant options for different scenarios, and fallback positions for negotiation.
Think of it like HTML referencing a CSS file. The structure says "put the rent clause here." Your clause language determines what that clause actually says.
This separation means you can update clause language without touching structure, and update structure without touching clauses.
Layer 2: Your Clause Language
Your clauses, the language your attorneys have refined through years of negotiation and disputes, are the building blocks. Each clause includes:
- Content: Your actual text, with placeholders for variable data
- Variants: Alternative versions for different scenarios (standard, aggressive, tenant-friendly)
- Conditions: Logic determining when to include the clause
- Metadata: Version history, approval status, usage notes
Clauses can have multiple variants. A CAM clause might have versions for gross lease, NNN lease, and modified gross, each selected automatically based on deal structure. This is the kind of logic LeasePilot can encode for your specific forms and deal patterns.
Layer 3: Building Data
Property information that persists across all leases for that building:
- Legal description and address
- Square footage (rentable, usable, common area factors)
- Building specifications
- Landlord entity information
- Property-specific rules or requirements
This data is entered once per property and flows into every lease for that building.
Layer 4: State/Jurisdiction Rules
Compliance requirements organized by jurisdiction:
- Required disclosures (seismic, environmental, tenant rights)
- Mandatory provisions
- Prohibited terms
- Filing requirements
When a lease is generated for a property in California, California rules apply automatically. No attorney needs to remember which state needs which disclosure.
Layer 5: Deal Terms
The business terms for this specific transaction:
- Parties (tenant name, contact information, entity type)
- Space (suite, RSF, permitted use)
- Economics (rent, escalations, TI allowance, free rent)
- Term (commencement, expiration, options)
- Special provisions negotiated for this deal
Deal terms are structured data, not free text. This enables calculations and ensures values flow consistently throughout the document.
§ 04
The Assembly Engine
Given these layers, how does a lease get created?
Step 1: Context Resolution
The system determines what context applies:
- Which building? Load building data
- Which state? Load jurisdiction rules
- What property type? Apply property-type logic
- What deal structure? Determine applicable clauses
Step 2: Clause Selection
For each position in the document, the system evaluates which clause variant to use:
``` IF deal.leaseType = "NNN" AND building.state = "CA" THEN use clause "cam-nnn-california-v3" ELSE IF deal.leaseType = "NNN" THEN use clause "cam-nnn-standard-v3" ELSE IF deal.leaseType = "Gross" THEN use clause "cam-gross-standard-v2" END ```
These rules are configured during onboarding to reflect each customer's standards and decision logic.
Step 3: Data Population
Once clauses are selected, variable data populates:
- Deal terms insert into their placeholders
- Building data populates property descriptions
- Calculated values compute and insert
Step 4: Calculation Execution
Computational elements generate:
- Rent schedules based on base rent, escalation type, and term
- Pro-rata share based on premises RSF and building RSF
- Operating expense estimates based on expense structure
Calculations execute against structured data, not parsed text. The system knows the base rent is $50.00 PSF because it's stored as a number, not because it extracted "$50.00" from a text string.
Step 5: Document Rendering
The assembled content renders into the output format:
- Page layout and formatting
- Header/footer generation
- Table of contents
- Exhibit compilation
The output is a complete, formatted document ready for review and negotiation.
§ 05
Deterministic Output
A critical property: the same inputs always produce the same output.
This is where the architecture diverges fundamentally from AI-generated documents. AI is probabilistic, it produces variable results from the same prompt. Lease calculations must be deterministic. Clause selection must be predictable. There is no room for "the AI decided" in a binding legal document.
If you generate a lease today and generate the same lease tomorrow with identical inputs, you get identical output. This enables:
- Auditing: What version was sent to the tenant? Regenerate with the same inputs and know exactly what they received.
- Comparison: What changed between draft versions? The differences reflect actual input changes, not random variation.
- Testing: Changes to clauses or logic can be validated systematically.
§ 06
The Amendment Model
Leases don't end at execution. Amendments modify them over time.
In LeasePilot, an amendment is a structured delta:
- Which provisions change
- What the new values are
- Which version of the original lease it modifies
Because we have structured data for both the original lease and the amendment, we can:
- Track cumulative changes across multiple amendments
- Generate consolidated lease documents reflecting all modifications
- Identify which provisions differ from current standards
§ 07
Integration Architecture
Lease data doesn't exist in isolation. It connects to:
Property Management Systems (Yardi, MRI, Entrata):
- Building data synchronization
- Lease abstraction export
- Rent roll reconciliation
CRM Systems (Salesforce, Dynamics):
- Deal pipeline integration
- Tenant information sync
- Activity tracking
Document Management:
- Version storage
- Execution tracking
- Document retrieval
The system was designed for integration from the start. Structured data is inherently more portable than Word documents.
§ 08
What We Don't Do
Equally important is what we intentionally excluded:
No AI text generation: We automate language selection, not language generation. Every word in the output was written and approved by your attorneys. Your language, automated.
No black-box processing: The assembly process is transparent. You can trace why any clause was included, what rules applied, what data populated.
No document parsing as a source of truth: We don't rely on extracting data from Word documents. Structured data is authoritative. Documents are outputs, not inputs.
No one-size-fits-all forms: The system is built around each customer's standards, your forms, your language, your deal logic. Not a generic set of templates everyone shares.
§ 09
The Technical Trade-offs
Every architecture involves trade-offs:
Upfront configuration: During onboarding, we encode your clause libraries, rules, and deal logic. This takes effort, typically around six weeks to go live — with about four weeks of active work with your team. The first two weeks are an internal deep dive on your templates before we take any of your team's time. That investment pays off over hundreds of transactions.
System complexity: A layered, rule-based system is more complex than a Word template. That complexity lives in the platform so your team doesn't deal with it, but it's there.
Rigidity where appropriate: The system enforces structure. You can't just type free-form text anywhere. This is intentional, it's how consistency is maintained, but it requires adapting workflow.
Integration work: Connecting to external systems requires implementation effort. Structured data makes this possible; it doesn't make it automatic.
§ 10
Why This Architecture
Ten years ago, we faced a choice: build a simple system that worked adequately, or build a complex system that worked correctly.
We chose complexity in the platform to enable simplicity in the workflow. The attorney using LeasePilot doesn't think about layers, rules, or assembly engines. They enter deal terms and get a lease. The architecture is invisible to them.
But that architecture is why the lease is consistent, compliant, and correct. It's why updates propagate automatically. It's why the system scales to thousands of transactions.
Simple tools have hidden complexity, it just lives in the user's workflow instead of the system. We made the opposite trade.
That's how LeasePilot actually works. Layered data model, rule-based clause selection, deterministic assembly, structured integrations. Not magic, engineering. Built over a decade to solve the specific challenges of commercial lease drafting at scale.
Questions about the architecture? Get in touch.
