About the Client
Bayleys Real Estate is New Zealand’s largest full-service real estate agency, operating across residential, commercial, rural, and property management services across New Zealand and Australia. With over 150 property management agents generating 1,800 to 2,000 rental appraisals per month, the manual documentation workload was significant, inconsistent across regions, and a major drain on agent productivity.
The leadership team — including the National Director and Financial Director — identified AI-driven automation as the strategic priority, with a clear mandate: cut appraisal time, improve consistency and accuracy, and free agents to focus on client relationships rather than documentation.
Project Background
Bayleys was already running a modern AWS-hosted property search web application built by Peritos Solutions — giving agents a cloud-based way to search and manage property records from any device. The next phase was to add AI intelligence on top of that foundation, and to solve the PDF output problem at scale.
Each rental appraisal required an agent to manually research comparable properties, write a property description, calculate a market rent range, pull together agent branding and contact details, and format everything into a professional PDF. This 30 to 45 minute process, repeated thousands of times per month, was the single biggest time drain in the property management workflow.
Peritos Solutions was engaged to design and build the AI upgrade. A key early architectural decision was selecting IronPDF for .NET Core as the PDF generation engine. Bayleys’ appraisal reports require pixel-perfect branded output — correct fonts, logo placement, agent photos, property images, tables, and disclaimers — all generated from dynamic data. IronPDF’s HTML-to-PDF rendering capability, combined with its .NET Core compatibility and performance at scale, made it the clear choice over alternatives such as iTextSharp, Aspose, or a headless Chrome/Puppeteer approach.
Requirements
- Generate a complete, professional, Bayleys-branded rental appraisal PDF in under one minute — from a single property address entry
- PDF output rendered via IronPDF for .NET Core from dynamic HTML/CSS templates — ensuring pixel-perfect brand consistency across all 150+ agents
- AI-generated property description — trained on thousands of historical Bayleys appraisals to match the tone and style of an experienced property manager
- EMV (Estimated Market Rent) calculated by a machine learning model trained on historical data — accuracy within ±3% of experienced agent assessment
- Property attributes (bedrooms, bathrooms, floor area, carparks) automatically retrieved via CoreLogic API
- Property listing image automatically pulled via Bayleys API where the property is currently listed for sale
- Agent profile photo, name, contact details, and office auto-populated via Office 365 Single Sign-On
- School zones and local amenities automatically identified from property address
- Support for multiple property types — house, apartment, unit, minor dwelling, home and income
- Manual entry flow for new-build and off-plan properties not yet in CoreLogic or Bayleys systems
- 90-day appraisal expiry logic — stale reports cannot be shared without manager review
- Regional disclaimer management configurable by administrators
- AskKen AI chatbot — zero-training, conversational interface covering legislation, tribunal cases, market data, maintenance costs, yield calculations, and suburb intelligence
- RAG architecture grounding all AI responses in controlled Bayleys proprietary data — not the open internet
IronPDF for .NET Core — PDF Generation Engine
IronPDF was selected as the PDF generation engine for the Bayleys Appraisal Platform after evaluating multiple alternatives. The core requirement was the ability to render fully branded, data-rich appraisal reports from dynamic HTML/CSS at high throughput — without manual formatting by agents.
Why IronPDF?
|
Requirement |
How IronPDF Delivered |
|
HTML/CSS → PDF fidelity |
IronPDF‘s Chromium-based renderer handles complex layouts including flexbox, CSS Grid, embedded images, and custom fonts — producing output identical to the browser-rendered preview agents see before generating |
|
Bayleys brand accuracy |
Bayleys national brand guidelines require precise font, colour, margin, and logo placement. IronPDF faithfully renders HTML templates meeting these specifications without degradation |
|
.NET Core compatibility |
The AWS Lambda microservice orchestrating PDF generation is built on .NET Core. IronPDF‘s native .NET Core support meant no runtime shims or compatibility workarounds |
|
Agent photo & property images |
Appraisal reports include the agent’s Office 365 profile photo and the property’s listing image. IronPDF embeds Base64-encoded images directly in the PDF render pipeline |
|
Header, footer & page numbers |
Multi-page appraisals require branded headers and footers with page numbers. IronPDF‘s header/footer API applies these consistently across all pages |
|
Performance at scale |
At 1,800–2,000 appraisals per month and < 1 minute generation target, PDF rendering must be fast. IronPDF generates complex, image-rich reports in milliseconds on Lambda |
|
90-day expiry compliance |
Appraisals include a watermark overlay for reports approaching or exceeding the 90-day compliance window. IronPDF’s stamping API applies this programmatically without a separate tool |
|
Cross-platform deployment |
The .NET Core Lambda function runs on Linux containers on AWS. IronPDF‘s cross-platform support required no Windows dependency — critical for serverless deployment |
PDF Generation Architecture
The PDF generation pipeline is implemented as an AWS Lambda function written in C# (.NET Core). When an agent triggers appraisal generation, the orchestration layer assembles all data — CoreLogic property attributes, Bayleys listing image, Office 365 agent profile, AI-generated property description, and EMV rental range — into a dynamic HTML template. IronPDF’s HtmlToPdf.StaticRenderHtmlAsToPdf() renders this template to a PDF, which is stored in Amazon S3 and a time-limited signed URL returned to the agent’s browser or mobile app.
The HTML template is authored in Razor (CSHTML), allowing Bayleys’ design team to update layout and branding without touching the backend pipeline. IronPDF renders the compiled HTML output faithfully, decoupling design from engineering.
IronPDF .NET Core — Implementation Highlights
|
Feature Used |
Application in Bayleys Platform |
|
HtmlToPdf renderer |
Core PDF generation — full Razor-compiled HTML template to branded PDF |
|
PdfDocument.AddHtmlHeader() |
Bayleys logo, report title, and date injected into every page header |
|
PdfDocument.AddHtmlFooter() |
Page numbers, regional disclaimer reference, and agent contact in every footer |
|
PdfDocument.StampHtml() |
90-day compliance watermark applied to reports nearing expiry |
|
PdfDocument.SetCustomMetadata() |
Report metadata (property address, agent ID, generation timestamp) embedded for audit trail |
|
Base64 image embedding |
Agent profile photo (from Office 365) and property listing image (from Bayleys API) embedded directly in HTML before render |
|
CSS print media queries |
Page breaks between appraisal sections controlled via CSS — IronPDF honours print media CSS |
|
Lambda / Linux deployment |
IronPDF deployed as a NuGet package in a .NET Core Lambda function — no Windows dependency, runs on Amazon Linux 2 container |
Scope & Feature Modules
Module 1 — Automated Rental Appraisal Report (IronPDF Output)
A property manager enters or confirms the property address. The system assembles all data, generates the HTML template, renders it to a pixel-perfect branded PDF via IronPDF, and returns a download link — all in under one minute:
- Property address triggers automatic data retrieval from CoreLogic API — bedrooms, bathrooms, floor area, carparks, property type
- Property image pulled from Bayleys listing API if the property is currently listed for sale — embedded in the IronPDF render as Base64
- Agent profile, photo, and contact details auto-populated via Office 365 SSO
- EMV rental range calculated and displayed — powered by the Random Forest valuation model
- AI-generated property description inserted automatically
- Rental details section populated: current market value range, property type, report date
- Regional legal disclaimer appended — configurable per region, with 90-day expiry logic; compliance watermark applied via IronPDF StampHtml()
- Back-page advert customisable by region or individual agent
- Multiple property types supported — houses, apartments, units, minor dwellings, home and income
- Manual entry available for new-build and off-plan properties — feeds directly into the Bayleys Data Lake
- Output: professional PDF matching Bayleys national branding guidelines — consistent across all 150+ agents and all regions
Module 2 — EMV (Estimated Market Rent) Valuation Engine
The EMV engine is the mathematical centrepiece of the platform. Peritos evaluated multiple modelling approaches and selected a Random Forest Regression model, trained on data from the Bayleys Data Lake, as the optimal fit for rental valuation. The model was refined through three stages to achieve ±3% accuracy against experienced agent assessments:
- Initial model (basic property features only) — margin of error exceeded ±15%, predictions unreliable at extremes
- After geometric mean aggregation of decision tree outputs — outlier influence dampened, error narrowed to ±8–10%
- Final model with full feature set and Pearson R local correlation weighting — ±3% accuracy nationwide
Key technical components: Bootstrap aggregation (bagging) across many de-correlated decision trees; geometric mean aggregation to dampen extreme outliers; suburb and street-level Pearson R correlation analysis dynamically weighting Capital Value influence per location (e.g. R=0.93 in Epsom = CV carries very high weight). The model resolves the classic ‘best house on the worst street vs. worst house on the best street’ dilemma by varying feature weights by suburb rather than applying a national average.
Module 3 — AI-Generated Property Descriptions
Property descriptions are generated automatically by an AI model trained specifically on Bayleys’ historical appraisal data. Rather than producing generic text, the model writes in the tone and style of an experienced Bayleys property manager:
- Trained on thousands of historical rental appraisals from across New Zealand — using sentiment analysis to learn how Bayleys property managers write
- Analyses the property address to identify local amenities, school zones, and suburb characteristics — incorporating these naturally into the description
- Property type, bedroom count, bathroom count, floor area, and key features woven in from CoreLogic data
- Output inserted directly into the IronPDF HTML template — agents can review and edit if needed, but in most cases the AI description is used as-is
Example output: ‘Large 5-bedroom, 3-bathroom home with triple car garaging, heated swimming pool and spa pool… Located close to Kohimarama Beach and top schools — Kohimarama School and Selwyn College. Whole house (5 beds): $1,650–$1,800pw’
Module 4 — AskKen AI Legal & Market Chatbot
AskKen AI is a purpose-built real estate intelligence assistant, powered by OpenAI GPT-4O with a custom AI engine layered on top to control output quality and data sourcing. It is accessible via mobile and desktop and requires zero training to use.
Architecture — Retrieval-Augmented Generation (RAG): proprietary documents including the Residential Tenancies Act, related legislation, 54,000 tenancy tribunal cases, suburb profiles, maintenance cost databases, and vendor checklists — are ingested, indexed in a vector store, and retrieved at query time. GPT-4O responses are grounded in Bayleys’ controlled data sources — not the open internet. A guardrails layer reviews all outputs against compliance checklists and strips unsupported assertions before they reach the agent.
AskKen AI handles queries across: Residential Tenancies Act compliance; tribunal precedents with case references; comparable property market analysis; suburb profiles, school zones, and amenity information; maintenance cost estimates and IRD depreciation schedules; yield calculations factoring rent, fees, rates, insurance, vacancy, and mortgage interest; and onboarding checklists.
Solution Architecture
The AI platform is built cloud-native on AWS, with OpenAI GPT-4O powering the language generation layer, and IronPDF for .NET Core handling all PDF output. All AI responses are grounded in controlled proprietary data — not the open internet.
|
Layer |
Technology / Service |
Role |
|
Cloud |
AWS (primary) |
Serverless infrastructure — Lambda, API Gateway, DynamoDB, S3, SNS, CloudWatch |
|
PDF Engine |
IronPDF for .NET Core |
HTML-to-PDF appraisal report generation — Chromium renderer, headers/footers, watermarks, image embedding — deployed as NuGet package in C# Lambda |
|
AI / LLM |
OpenAI GPT-4O |
Base generative and reasoning capability for AskKen AI and property description generation |
|
AI Orchestration |
AWS Lambda + .NET Core / Node.js / Python |
Microservices orchestrating: user input → data assembly → HTML template → IronPDF render → S3 storage → signed URL response |
|
EMV Model |
Random Forest Regression |
Trained on Bayleys Data Lake — bootstrap aggregation, geometric mean, Pearson R suburb weighting — ±3% accuracy |
|
RAG Layer |
Vector store + proprietary docs |
54,000 tribunal cases + legislation + market data indexed — retrieved at query time to ground LLM responses |
|
Data Layer |
Bayleys Data Lake |
Historical appraisals, rental data, property records, new-build manual entries — feeds EMV model training |
|
Property Data |
CoreLogic API |
Bedrooms, bathrooms, floor area, carparks — retrieved automatically on address entry |
|
Images |
Bayleys Listings API |
Current listing photos pulled into IronPDF HTML template automatically for listed properties |
|
Auth |
Office 365 SSO |
Single sign-on — agent profile, photo, and contact details auto-populated in every report |
|
Security |
AWS WAF + token auth |
Web Application Firewall + token-based API endpoints — all property and AI data secured |
|
Guardrails |
Rules engine |
LLM outputs reviewed against compliance checklists; unsupported assertions stripped before reaching the agent |
Implementation Approach
The project kicked off in October 2024 and delivered an MVP into UAT for Auckland agents by early March 2025 — on schedule and within budget.
|
Phase |
Deliverables |
|
Phase 1 — Discovery |
Requirements workshops, CoreLogic and Bayleys API integration scoping, Data Lake assessment, RAG document inventory, AWS architecture design, IronPDF template specification and brand approval |
|
Phase 2 — EMV Model |
Initial Random Forest baseline, geometric mean refinement, Pearson R suburb-level correlation weighting — iterated until ±3% accuracy achieved nationally |
|
Phase 3 — Appraisal Engine & IronPDF |
IronPDF .NET Core Lambda function build, Razor HTML template authoring, CoreLogic integration, Bayleys API image pull, Office 365 SSO, multiple property type handling, 90-day expiry watermark, S3 storage and signed URL delivery |
|
Phase 4 — AI Descriptions |
GPT-4O fine-tuning on historical Bayleys appraisals, sentiment analysis training, school zone and amenity integration, review and editing workflow, output injection into IronPDF template |
|
Phase 5 — AskKen AI |
RAG pipeline build, document ingestion (legislation + 54,000 tribunal cases), guardrails layer, GPT-4O prompt engineering, chat interface on mobile and desktop |
|
Phase 6 — UAT & Go-Live |
UAT with Auckland property managers, regional disclaimer configuration, IronPDF performance tuning, AWS cost optimisation, go-live and hypercare |
Challenges & Solutions
|
Challenge |
Solution |
|
PDF brand fidelity at scale |
IronPDF‘s Chromium-based HTML renderer was selected after evaluating iTextSharp, Aspose, and headless Chrome/Puppeteer. IronPDF delivered the closest match to browser-rendered output, with native .NET Core support and performance suitable for Lambda-based serverless generation. |
|
EMV accuracy from ±15% to ±3% |
Three refinement stages — basic features, geometric mean aggregation, then Pearson R local correlation weighting — drove accuracy to ±3% nationwide, matching experienced agent assessments. |
|
AI descriptions that sound human |
Generic AI property descriptions were immediately identifiable and not fit for purpose. Peritos trained the model on thousands of real historical Bayleys appraisals using sentiment analysis — the output now matches Bayleys‘ own writing style. |
|
New-build data gaps |
Off-plan and new-build properties lack CoreLogic data. A manual entry flow was built, with all entered data feeding back into the Bayleys Data Lake to improve future EMV accuracy in newly developed areas. |
|
RAG grounding vs. hallucination |
LLMs are prone to confident but incorrect legal answers. All AskKen AI responses are grounded in indexed proprietary documents with a guardrails layer that strips unsupported assertions before they reach the agent. |
|
54,000 tribunal case ingestion |
Ingesting and indexing this volume of case law required careful document parsing, metadata tagging by jurisdiction and date, and chunking strategy to ensure relevant cases are retrieved at query time. |
|
90-day compliance watermarking |
Stale appraisals must be visually flagged before sharing. IronPDF‘s StampHtml() API applies a configurable compliance watermark to reports approaching or exceeding the 90-day window — no separate PDF tool required. |
|
Serverless PDF on Linux Lambda |
IronPDF was deployed as a NuGet package in a .NET Core Lambda function running on Amazon Linux 2 containers. IronPDF‘s cross-platform support required no Windows dependency — critical for the serverless deployment model. |
|
High-visibility first AI project |
As Bayleys‘ inaugural AI initiative, this project set the benchmark for all future AI investment. Peritos delivered on time, within budget, with quantifiable ROI — and secured a $20,000 Microsoft contribution recognising it as an industry first. |
Financial Impact
|
Metric |
Value |
|
Appraisal time reduction |
From 30–45 minutes per appraisal to under 1 minute — saving approximately 40 minutes per appraisal |
|
Monthly appraisal volume |
1,800–2,000 appraisals per month (60,000–67,000 annually) |
|
Saving per appraisal |
NZD $33.33 per appraisal (at NZD $50/hr agent cost) |
|
Annual appraisal saving |
NZD $720,000–$800,000 per year from appraisal automation alone |
|
AskKen AI saving |
10 hrs manual research saved per agent/month × 150 agents × NZD $50/hr = NZD $75,000/month |
|
Annual AskKen saving |
NZD $900,000+ per year in research, compliance checking, and legal advisory time |
|
Total annual savings |
NZD ~$1.75 million per year — combined appraisal automation + AskKen AI |
Key Benefits
- Appraisal turnaround time reduced from 30–45 minutes to under 1 minute — freeing agents to focus on client relationships
- IronPDF for .NET Core generates pixel-perfect, Bayleys-branded PDF appraisal reports from dynamic HTML/CSS templates — consistent quality across all 150+ agents and all regions
- AI-generated property descriptions match the tone and style of experienced Bayleys property managers — no manual writing required
- EMV accuracy of ±3% nationwide — matching or exceeding the estimates of experienced agents
- AskKen AI gives every property manager instant access to legislation, tribunal cases, market data, and maintenance knowledge — without leaving the platform
- Agent profile, contact details, and property images auto-populated via SSO and API integrations — zero manual formatting
- IronPDF StampHtml() watermarking enforces 90-day appraisal compliance automatically — protecting professional and legal standards
- IronPDF deployed as a NuGet package in a .NET Core AWS Lambda function — serverless, scalable, no Windows dependency
- New-build and off-plan data captured manually feeds back into the Bayleys Data Lake — building proprietary market intelligence ahead of public availability
- Platform scales across New Zealand and Australia from a single codebase on AWS
- Recognised by Microsoft with a $20,000 contribution as an industry-first AI innovation
Support & Next Steps
Peritos Solutions provided post-go-live hypercare covering AI output quality monitoring,
EMV model tuning, IronPDF template updates, and integration stability. Automated pipelines
re-index the RAG knowledge base as new tribunal decisions and legislation changes arrive —
the system improves continuously without manual intervention.
Planned next phase:
- Extension to Australian markets — McGrath Real Estate agent base
- Expanded AskKen AI modules covering insurance policy guidance and advanced financial modelling
- Business intelligence dashboard — appraisal volumes, lead conversion rates, and sales-to-property-management referral tracking
- Further EMV model refinement with expanded suburb-level correlation data from new-build entries
- Automated contact creation in the platform when new landlords are onboarded
- IronPDF template expansion for commercial and rural appraisal report formats
Looking for a Similar AI Property or Real Estate Technology Solution?
Peritos Solutions specialises in AI-powered applications, machine learning valuation models, RAG chatbots, IronPDF report generation, and cloud-native platforms on AWS — across New Zealand, Australia, USA, and India.
info@peritosolutions.com | +64-212579909 | www.peritossolutions.com









