About the Client
| Client | Bayleys Real Estate |
| Industry | Commercial & residential property | sales · valuation · property management |
| Region | New Zealand | one of NZ’s largest full-service real estate companies |
| Application | CVE — Commercial Valuation Evidence | internal property evidence platform |
| Legacy | Microsoft Access database → migrated to Aurora PostgreSQL on AWS |
| Delivered by | Peritos Solutions | Oct 2023 – Dec 2023 |
Bayleys is one of New Zealand’s leading full-service real estate companies, operating across commercial, industrial, residential and rural property. Their internal CVE application is used by valuers to record, search, and report on commercial sales and rental evidence across the New Zealand market.
Project Background
Bayleys’ existing Commercial Valuation Evidence system ran on a legacy Microsoft Access database — a standalone, desktop-bound solution with no cloud access, no modern search capability, and no ability to scale to a growing user base. The requirement was to migrate the entire application to a cloud-native platform that could be accessed from any device, support role-based access aligned to Bayleys’ existing Azure AD identity, and provide a significantly improved user experience for valuers entering and searching property evidence.
Peritos Solutions was engaged to design, build, and deploy the full application on AWS — from architecture design and Access database migration through to a React.js frontend, serverless C# API layer, Aurora PostgreSQL database, and production deployment — in under two months.
Project Timelines
| Phase | Period | Key Activities | Status |
| Phase A | Oct 2023 | Requirement gathering, AS IS / TO BE flows, business architecture, application design, AWS account structure setup (Dev/Test/Prod OUs) | Done |
| Phase B | Oct – Nov 2023 | AWS infrastructure setup, React.js frontend, C# Lambda APIs, AWS Cognito + Azure AD SSO, property search, sales entry, rental entry, photo/attachment upload, CI/CD pipelines, unit testing | Done |
| Phase C | Nov – Dec 2023 | Word/Excel export, Google Maps radius search, audit logs, email report delivery, advanced search enhancements | Done |
| Phase D | Dec 2023 | Access DB data migration to Aurora PostgreSQL, UAT, bug fixing, production deployment, documentation & handover | Done |
| Hypercare | Dec 2023 | 1-month free hypercare post go-live, then transition to support contract | Done |
Results & Impact
Observability & Visibility
Assessment Report
Phase A delivered a structured assessment before any build commenced:
- Risk & Gap Analysis — AS IS Access database reviewed, TO BE cloud architecture designed, data migration approach confirmed, and AWS account structure (Dev/Test/Prod organisation units) set up before development started
- Customised Assessment Report — AWS Well Architected Framework assessment completed across all five pillars (Operational Excellence, Security, Reliability, Performance Efficiency, Cost Optimisation), with adherence built into the architecture from day one
- Pricing validated — full AWS pricing model confirmed at USD $124.22/month (Asia Pacific Sydney) before infrastructure was provisioned
Cloud Formation
Serverless AWS Architecture
The entire application was built on a consumption-based serverless model:
- AWS Lambda (C#) — all backend APIs run serverless with automatic scaling, zero server management, and 99.95% SLA
- Aurora Serverless PostgreSQL — database scales automatically with demand, 99.99% SLA, deployed in a private subnet with no public internet access
- AWS Amplify — React.js frontend deployed on a managed CloudFront distribution with built-in level 7 security — no additional CDN or WAF configuration required for the frontend
- CloudFormation IaC — all three environments (Dev/Test/Prod) provisioned from identical infrastructure-as-code scripts, ensuring full environment parity
Scope & Requirements
Phase A — Requirements & Architecture
- AS IS and TO BE process flows documented for sales and rental evidence workflows
- AWS account structure designed — separate Dev, Test, and Prod accounts under an Organisation Unit hierarchy
- Application architecture designed — serverless, multi-layer (Presentation · Business Services · Data Access)
- AWS Well Architected Framework review completed across all 5 pillars
- AWS pricing model confirmed — USD $124.22/month
Phase B — Core Application
- AWS infrastructure setup — VPC, private subnets, CloudFormation scripts, CI/CD pipelines
- User authentication — AWS Cognito with Azure AD as identity provider; JWT token validation on every Lambda; admin/user role assignment from AD groups
- Home screen and navigation — role-based dashboard
- Commercial Valuation Evidence (CVE) module — full sales evidence entry with NZ address restriction
- Property search — by type, category, subcategory, location, date range, price, building area, tenure, zoning, keyword
- Rental Assessment module — rental entry with auto-calculated annual rental (area × contract rate), lease terms, occupancy details
- Photo and document attachment — upload, download, and delete for both sales and rental records; stored in S3
- Sales and rental evidence report — combined report generation
- AWS deployment — Lambda, Aurora, Amplify, API Gateway, WAF, S3, KMS, Secrets Manager, CloudWatch
Phase C — Additional Features
- Word and Excel export of property evidence reports
- Google Maps radius search — restrict property search to X km radius of a searched NZ address
- Audit logs — logging of all data download and export events
- Email report delivery — send evidence reports via SNS/SQS email integration
- Advanced search enhancements — comma formatting on numeric fields, improved address suburb search
Phase D — Data Migration & Production
- Full data migration from Microsoft Access database to Aurora PostgreSQL
- UAT, bug fixing (5% effort allocation), production deployment
- Documentation and handover
- 1-month hypercare support post go-live
Implementation
Serverless Architecture
The backend was built entirely on AWS Lambda using C#, invoked via Amazon API Gateway. This eliminated server management entirely — Lambda scales automatically to handle any volume of concurrent requests, and the consumption-based pricing model means Bayleys pays only for actual usage. At 50,000 Lambda invocations per month, the Lambda cost is effectively zero under AWS’s free tier thresholds.
Authentication — Azure AD + AWS Cognito
Bayleys users authenticate using their existing Bayleys corporate Azure AD credentials. AWS Cognito is configured with Azure AD as the federated identity provider — users click ‘Sign in with Bayleys account’, are redirected to Azure AD for authentication, and returned to the CVE app with a JWT token. Admin role assignment is handled via Azure AD group membership, surfaced in the JWT claim and enforced on every Lambda endpoint.
Property Search & Google Maps Integration
The property search module allows Bayleys valuers to search commercial sales and rental evidence by property type, category, subcategory, location, date, price, building area, tenure, and keyword. NZ address lookup is powered by the Google Maps Places API with results restricted to New Zealand addresses only. The radius search feature allows valuers to find all comparable evidence within a defined kilometre radius of any NZ address — critical for commercial valuation work.
Data Model & Migration
The existing Microsoft Access database was analysed, mapped to a normalised PostgreSQL schema, and migrated to Amazon Aurora Serverless. Aurora’s serverless configuration means the database scales its capacity units automatically based on load — dropping to near-zero cost during idle periods and scaling up for peak search and reporting activity. The database is deployed in a private subnet with no public internet access; Lambda functions access it over the private network only.
Security Architecture
All API endpoints are protected by AWS WAF with AWS managed rule groups covering common web exploits, SQL injection, and bot traffic. AWS Shield Standard provides DDoS protection at the network layer. All sensitive configuration (database connection strings, API keys, third-party credentials) is stored in AWS Secrets Manager in encrypted format. Data at rest in Aurora and S3 is encrypted using AWS KMS. All data in transit is secured via HTTPS/TLS.

Technology & Architecture
| Frontend | React.js | AWS Amplify | responsive | Chrome · Edge · Firefox · Safari |
| Backend | C# (.NET) | AWS Lambda (serverless) | AWS API Gateway | event-driven architecture |
| Database | Amazon Aurora Serverless (PostgreSQL) | 99.99% SLA | auto-scaling | private subnet |
| Auth | AWS Cognito | Azure AD as identity provider | JWT tokens | role-based access (admin / user) |
| Storage | Amazon S3 | PDFs · photos · attachments | private endpoint access from Lambda | KMS encryption |
| Networking | AWS VPC | private subnets for Lambda & Aurora | AWS WAF on API Gateway | AWS Shield Standard |
| Security | AWS WAF (managed rule groups) | AWS Shield Standard | AWS KMS | AWS Secrets Manager | SSL/TLS |
| Notifications | Amazon SNS | Amazon SQS | email delivery for property reports |
| Monitoring | Amazon CloudWatch | AWS CloudTrail | alert & monitoring dashboards |
| DevOps | AWS CloudFormation (IaC) | CI/CD pipelines | Dev · Test · Prod environment parity |
| Integrations | Google Maps API (NZ address lookup · radius search) | Azure AD SSO | Word/Excel/PDF export |
| Region | Asia Pacific — Sydney | monthly AWS cost: USD $124.22 | 12-month total: USD $1,490.69 |
Architecture Overview
A high level architecture diagram as below


Challenges
Access Database Migration to Aurora PostgreSQL
The legacy Microsoft Access database had an unstructured schema built over many years of ad hoc property data entry. Peritos mapped the full Access data model to a normalised PostgreSQL schema before migration, handled data type conversions, and validated migrated data record-by-record against the source before go-live.
Azure AD Federated Identity via AWS Cognito
Integrating Bayleys’ corporate Azure AD as the identity provider for an AWS-native application required careful configuration of OIDC federation in Cognito, JWT claim mapping for admin role detection, and testing across all authentication edge cases — including token expiry, re-authentication, and admin privilege escalation via group membership.
NZ-Only Address Restriction
Google Maps Places API returns global results by default. Enforcing NZ-only address lookup required both frontend component configuration (restricting the Places autocomplete to NZ) and backend validation on address submission — ensuring no non-NZ property records could be created through direct API calls.
Complex Valuation Analysis Fields
The sales evidence entry form includes specialist commercial valuation fields — Building Rate ($/psm), Equivalent Market Yield (%), IRR (%), WALT (years to 2dp), Vacancy (%) — each with specific unit formatting requirements and conditional display rules (e.g. subcategory only active for Commercial Office and Commercial Retail). Getting the field logic right required close collaboration with Bayleys valuers through multiple UAT cycles.
Under Two Months End-to-End
Delivering a fully serverless custom application — including data migration, three AWS environments, CI/CD pipelines, Azure AD integration, Google Maps integration, and report export — in under two months required strict parallel workstreaming across infrastructure setup, backend development, frontend development, and data migration, with daily sprint cycles and rapid UAT feedback turnarounds.
Key Benefits
- Fully serverless — zero server management, automatic scaling, consumption-based pricing at USD $124/month for a full commercial property evidence platform
- Single sign-on — Bayleys staff use their existing corporate Azure AD credentials with no new password or account required
- Cloud-native from day one — built following the AWS Well Architected Framework across all 5 pillars, with IaC (CloudFormation) and CI/CD pipelines ensuring repeatable, reliable deployments
- Access database retired — legacy desktop-only, single-user Access database replaced by a scalable multi-user cloud application accessible from any device and browser
- Google Maps radius search — valuers can find comparable evidence within any km radius of any NZ address, directly inside the application without external tools
- 99.99% database SLA — Aurora Serverless PostgreSQL delivers enterprise-grade availability with automatic failover and no database administration overhead
- Complete audit trail — CloudWatch logging, CloudTrail, and application-level audit logs capture all data access and export activity
Post-Launch Support
Hypercare Period
A 1-month free hypercare period was included from the go-live date. Peritos monitored CloudWatch metrics, resolved all post-launch issues, and provided guidance on Aurora capacity tuning and Lambda concurrency configuration. All Phase B UAT test scenarios (45+ test cases across sales entry, rental entry, and search) were confirmed passed before the hypercare period commenced, with only 3 bugs raised and resolved during testing.
A support contract proposal was prepared for ongoing AMC support following the hypercare period, covering Lambda, Aurora, Amplify, and application-level support.
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
- 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 |
|
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.
Get in touch: info@peritosolutions.com | +64-212579909 | www.peritossolutions.com
About the Client
Bayleys Real Estate is one of New Zealand’s largest and most recognised real estate agencies, operating across residential, commercial, rural, and property management services throughout New Zealand and Australia (including McGrath Real Estate). With over 150 property management agents generating 1,800–2,000 rental appraisals per month, the volume and complexity of documentation demanded a step-change in how the business operated.
The leadership team — including the National Director and Financial Director — identified AI-driven automation as the strategic priority, with a clear mandate: reduce time spent on repetitive documentation tasks, improve consistency and accuracy, and free agents to focus on client relationships.
The Problem
Each rental appraisal traditionally required an agent to manually complete market analysis, write a property description, cross-reference compliance requirements, and produce a formatted report — a process taking 30 to 45 minutes per appraisal. At an average cost of NZD $50 per agent-hour, this represented a significant and measurable drag on productivity.
With 1,800 to 2,000 appraisals generated per month — and a target of 60,000 to 67,000 per year — the business needed automation, not incremental improvement. Key pain points included:
- Inconsistent quality and formatting of appraisals across regions and agents
- No centralised, AI-assisted way to access tenancy legislation, tribunal case law, or market data
- Agents frequently leaving the platform to search external sites for comparable properties or school zone information
- Manual population of agent profiles, property features, and branding on every report
Solution Overview
Peritos Solutions designed and built a two-module platform hosted on Microsoft Azure, integrating with Bayleys’ existing technology ecosystem including Office 365, CoreLogic, and the Bayleys property API.
|
Part 1 — Automated Appraisal Engine |
|
The appraisal engine automates the end-to-end production of a professional, branded rental appraisal report. A property manager enters or confirms a property address and the system handles the rest:
|
|
Part 1 — EMV (Estimated Market Value) Engine |
|
The EMV engine is the technical centrepiece of the appraisal 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 evolved through three refinement stages:
Key technical components of the EMV model include:
|
|
Part 2 — AskKen AI 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 sources. It is accessible via mobile and desktop and requires no training to use. The architecture uses Retrieval-Augmented Generation (RAG) to ground the LLM’s responses in Bayleys‘ proprietary and controlled data sources rather than the open internet:
AskKen AI is capable of handling queries across legislation and compliance, comparable market analysis, tenancy tribunal precedents, suburb and school zone research, rental market reports, maintenance cost estimates, yield calculations, and more. |
Technical Architecture
|
Cloud Platform |
Microsoft Azure — cloud-native, scalable infrastructure |
|
AI / LLM Core |
OpenAI GPT-4O with supervised fine-tuning and custom prompt engineering |
|
Valuation Model |
Random Forest Regression — bootstrap aggregation, geometric mean, Pearson R correlation weighting |
|
RAG Layer |
Vector store indexing of proprietary legal, market, and operational documents — real-time retrieval at query time |
|
Data Lake |
Bayleys proprietary property data, appraisal history, and manually entered new-build data |
|
Integrations |
CoreLogic API (property attributes), Bayleys API (listing images), Office 365 SSO (user profiles) |
|
AI Copywriting |
Sentiment-analysis-trained model on thousands of historical appraisals — generates descriptions matching Bayleys tone |
|
Output |
Professionally formatted, branded PDF appraisal report with agent profile, property image, EMV, description, and disclaimer |
|
Platforms Supported |
Web (desktop, mobile, tablet) — zero-training, no-manuals design philosophy |
|
Markets |
New Zealand (primary) — extensible to Australia (McGrath Real Estate) |
|
Security |
Internal vs external data segregation; only version-controlled approved data ingested into AI; external web search disabled by default |
Key Challenges & Solutions
|
First AI project under scrutiny |
As Bayleys‘ inaugural AI initiative, the project carried high visibility. Peritos delivered on time, within budget, and with quantifiable ROI — establishing the blueprint for future AI projects across the business. |
|
EMV accuracy |
Initial models had ±15% error. Through iterative refinement — geometric mean aggregation, Pearson R suburb correlation, and full feature weighting — accuracy was driven to ±3% nationwide, matching experienced agent assessments. |
|
No-training UX requirement |
The platform was designed to require zero manuals or training, following the design philosophy that a good product is intuitive regardless of technical experience. The interface works seamlessly across mobile, desktop, and tablet. |
|
Data gaps for new properties |
Off-plan and newly built properties often lack data in CoreLogic or the Bayleys API. A manual entry flow was built to capture this information, feeding it directly into the Data Lake to improve future model accuracy. |
|
Cross-market compatibility |
The platform was architected to support both New Zealand and Australian markets from a single codebase, with regional disclaimer management configurable by administrators. |
|
RAG grounding vs hallucination |
Rather than relying on the open internet, all AI responses are grounded in controlled, indexed proprietary documents. A guardrails layer strips unsupported assertions before they reach the user. |
Financial Impact
|
Appraisal time reduction |
From 30–45 minutes per appraisal to under 1 minute — saving approximately 40 minutes per appraisal |
|
Appraisal volume |
1,800–2,000 appraisals per month (60,000–67,000 annually) |
|
Saving per appraisal |
NZD $33.33 per appraisal (based on NZD $50/hr agent cost) |
|
Annual appraisal saving |
NZD $720,000–$800,000 per year from appraisal automation alone |
|
AskKen AI research saving |
10 hours of manual research saved per agent per month × 150 agents × NZD $50/hr = NZD $75,000/month |
|
Annual AskKen saving |
NZD $900,000+ per year in research and legal advisory time |
|
Total annual savings |
NZD ~1.75 million per year (combined appraisal + AskKen AI) |
|
Microsoft contribution |
NZD $20,000 from Microsoft recognising this as an industry-first Azure build |
Benefits to the Client
- Appraisal turnaround time reduced from 30–45 minutes to under 1 minute — freeing agents to focus on client relationships
- Consistent, professional, branded appraisal reports across all regions and agents — no variation in quality
- EMV accuracy of ±3% nationwide — matching or exceeding experienced agent assessments
- AskKen AI gives every property manager instant access to legislation, case law, market data, and maintenance knowledge without leaving the platform
- Agent profiles, contact details, and property images auto-populated via SSO and API integrations — zero manual formatting
- New property data captured for off-plan and new builds feeds back into the Bayleys Data Lake — building proprietary market intelligence ahead of public availability
- Stress and cognitive load reduced for property managers — repetitive tasks automated, accuracy protected
- Platform scales across New Zealand and Australia from a single codebase
- Recognised by Microsoft with a $20,000 contribution as an industry-first innovation on Azure
Support & Next Steps
Peritos Solutions provided post-go-live support covering monitoring of AI output quality, EMV model tuning, and integration stability. The platform is designed for continuous improvement — as new tribunal decisions, legislation updates, and market data arrive, automated pipelines re-index the RAG knowledge base daily or weekly.
Planned next-phase enhancements include:
- Extension to additional Australian markets and McGrath Real Estate agent base
- Expansion of the Bayleys Data Lake with manually entered new-build and off-plan property data
- Additional AskKen AI modules covering insurance policy guidance and financial modelling
- Business intelligence dashboard tracking appraisal volumes, lead conversion, and referral rates from sales to property management
- Further fine-tuning of the EMV model with expanded suburb-level correlation data
Looking for a Similar AI or Property Technology Solution?
Peritos Solutions specialises in AI-powered applications, ERP integrations, and cloud-native platforms across New Zealand, Australia, USA, and India. We are a Microsoft partner with hands-on experience delivering first-of-kind solutions on Azure.
Get in touch: info@peritosolutions.com | +64-212579909 | www.peritossolutions.com
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.
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: automating the appraisal document, training a mathematical valuation model on historical data, deploying an AI copywriting engine for property descriptions, and building the AskKen AI chatbot for on-demand knowledge access.
Requirements
- Generate a complete, professional, branded rental appraisal report in under one minute — from a single property address entry
- 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 sales and rental 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
- 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
Scope & Feature List
|
Module 1 — Automated Rental Appraisal Report |
|
A property manager enters or confirms the property address. The system generates a complete, professionally formatted, Bayleys-branded rental appraisal report automatically:
|

|
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:
Key technical components:
|
|
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.
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):
AskKen AI handles queries across:
|

Solution Architecture

Technology & Architecture
The AI platform is built cloud-native on AWS, with OpenAI -GPT-4O powering the language generation layer. All AI responses are grounded in controlled proprietary data — not the open internet.
|
Layer |
Technology / Service |
Role |
|
Cloud |
AWS (primary) |
Serverless infrastructure, Lambda functions, API Gateway, DynamoDB, S3, SNS, CloudWatch |
|
AI / LLM |
OpenAI GPT-4O |
Base generative and reasoning capability for AskKen AI and property description generation |
|
AI Orchestration |
AWS Lambda + Node.js/Python |
Microservice orchestrating: user input → RAG retrieval → LLM call → answer filtering → UI 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 appraisal report 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 user |
Application Images
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 1 — Discovery |
Requirements workshops, CoreLogic and Bayleys API integration scoping, data lake assessment, RAG document inventory, architecture design on AWS |
|
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 |
Automated report generation, CoreLogic integration, Bayleys API image pull, Office 365 SSO, multiple property type handling, 90-day expiry logic |
|
Phase 4 — AI Descriptions |
GPT-4O fine-tuning on historical Bayleys appraisals, sentiment analysis training, school zone and amenity integration, review and editing workflow |
|
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, performance tuning, cost optimisation on AWS, go-live and hypercare |
Challenges & Solutions
|
EMV accuracy from ±15% to ±3% |
Initial models had very high variance. 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. |
|
First AI project — high visibility |
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
|
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
- AI-generated property descriptions match the tone and style of experienced Bayleys property managers — consistent quality across all agents and regions
- 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
- New-build and off-plan data captured manually feeds back into the Bayleys Data Lake — building proprietary market intelligence ahead of public availability
- Stress and cognitive load reduced for property managers — repetitive tasks automated, accuracy protected
- 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, 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
Looking for a Similar AI Property or Real Estate Technology Solution?
Peritos Solutions specialises in AI-powered applications, machine learning valuation models, RAG chatbots, and cloud-native platforms on AWS — across New Zealand, Australia, USA, and India.
Get in touch: info@peritosolutions.com | +64-212579909 | www.peritossolutions.com
About Client
AWS Support Services-Digital Tribe is the United Arab Emirates’s leading full-scale Digital Marketing agency in Dubai, enabling brands to grow online. Digital Tribe creates robust websites, web applications, branding, content, and digital marketing experiences. It is an agency that delves deep into the details of every sector.
- https://digitaltribe.ae/
- Location: United Arab Emirates
Project Background
Digital Tribe were embarking on the journey of launching a full suite of digital product and zeroed upon AWS as their choice for a cloud environment. They wanted to create new applications and migrate to cloud services to improve their scalability, ensure availability, minimize latency, and reduce costs. They also wanted to accelerate their digital transformation and add more excellent business value through AWS Development Environment best practices. Lastly, with the new apps, they wanted to monetize and create SAAS-based offerings for the end users. For all this, it was necessary to do AWS Environment Setup, which follows best practices and meets compliance which can be used as a base for implementing more applications.
Scope & Requirement
In the 1st Phase of the AWS Environment Setup, implementation was discussed as follows:
- Setting up AWS environment for multi-account, Multi environment setup
- Ensure that all AWS accounts follow the same policies and adhere to all legal and regulatory compliance.
- Setup connectivity between different AWS accounts and on-prem network
- Setup AWS security hub to provide a comprehensive view of the security state
Implementation

Technology and Architecture
Technology/ Services used
We used AWS services and helped them to setup below
- Cloud: AWS
- Organization setup: Control tower
- AWS SSO for authentication using existing AzureAD credentials
- Policies setup: Created AWS service control policies
- Templates created for using common AWS services
Security & Compliance:
- Tagging Policies
- AWS config for compliance checks
- NIST compliance
- Guardrails
- Security Hub
Network Architecture
- Site to Site VPN Architecture using Transit Gateway
- Distributed AWS Network Firewall
- Monitoring with Cloud Watch and VPC flow logs.
Backup and Recovery
Cloud systems and components used followed AWS’s well-Architected framework and the resources were all Multi-zone availability with uptime of 99.99% or more.
Cost Optimization
- Alerts and notifications are configured in the AWS cost
Code Management, Deployment
Cloudformation scripts for creating stacksets and scripts for generating AWS services was handed over to the client
Challenges
- Mobile app should be scalable
- Multi Language support required
- It was a bit of a challenge to ensure the new environment meets all of the compliance criteria and still remain cost effective
Support
- 1 month of extended support
- A template for Cloud formation stack to create more AWS resources using the available stacks
- Screen-sharing sessions with a demo of how the services and new workloads can be deployed.
Next Phase
Ongoing support for AWS Review, Design, and Architecture Setup

About Client
AWS Environment Setup
Tonkin + Taylor is New Zealand’s leading environment and engineering consultancy with offices located globally. They shape interfaces between people and the environment which includes earth, water and air. They have won awards like Beaton Client Choice Award for Best Provider to Government and Community-2022 and IPWEA Award for Excellence in Water Projects for the Papakura Water Treatment Plan- 2021.
- https://www.tonkintaylor.co.nz/
- Location: New Zealand
Project Background
Tonkin + Taylor were embarking on the journey for launching a full suite of digital product and zeroed upon AWS as thier choice for cloud environment. They wanted to create new applications and migrate to cloud services to improve their scalability, ensure availability, minimize latency and reduce costs. They were also looking to accelerate their digital transformation and add greater business value through AWS Development Environment best practices. Lastly with the new apps they wanted to monetize and create SAAS based offerings for the end users. For all this it was needed to do AWS Environment Setup which follows best practices and meets compliance which can be used as a base for implementing more applications.
Scope & Requirement
In the 1st Phase of the AWS Environment Setup, implementation was discussed as follows:
- Setting up AWS environment for multi account, Multi environment setup
- Ensure the all AWS accounts follow same set of policies and adhering to all legal and regulatory compliance.
- Setup connectivity between different AWS accounts and on-prem network
- Setup AWS security hub to provide a comprehensive view of security state
- The Tonkin + Taylor On-Premise to Cloud Migration project aims to modernize and optimize the company’s IT infrastructure by migrating its existing on-premise systems to a cloud-based environment. The key objectives include reducing operational costs, enhancing scalability, improving system performance, and ensuring business continuity through a secure, reliable, and accessible cloud platform.
Implementation

Technology and Architecture
Read more on the key components which defined the Architecture for AWS Environment Setup for Tonkin + Taylor
Technology/ Services used
- We used AWS services and helped them to setup below
- Cloud: AWS
- Organization setup: Control tower
- AWS SSO for authentication using existing AzureAD credentials
- Policies setup: Created AWS service control policies
- Templates created for using common AWS services
Security & Compliance:
- Tagging Policies
- AWS config for compliance checks
- NIST compliance
- Guardrails
- Security Hub
Network Architecture
- Site to Site VPN Architecture using Transit Gateway
- Distributed AWS Network Firewall
- Monitoring with Cloud Watch and VPC flow logs.
Backup and Recovery
Cloud systems and components used followed AWS’s well-Architected framework and the resources were all Multi-zone availability with uptime of 99.99% or more.
Cost Optimization
Alerts and notifications are configured in the AWS cost
Code Management, Deployment
Cloudformation scripts for creating stacksets and scripts for generating AWS services was handed over to the client
Challenges of AWS Environment Setup
- It was a bit of a challenge to ensure the new environment meets all of the compliance criteria and still remain cost effective.
- As per best practices we need to have a set of Unique machines and each may need to have its own VPC but that may incur a cost to the client. So we discussed and agreed for a specific 75% to be achieved which would be deemed as acceptable
- We have some non compliance being generated by standard AWS services
- We got below feedback from AWS support . “It was reported that there are some policies and roles which are created by control tower and are created using best practices and there is no harm or security issue which arises it. Sometimes the conformance pack you use does shows the by default created policies to be non-compliant and you can ignore that for the time being. To make it compliant we have to either delete or the modify these roles/policies and since these roles and policies managed by the Control Tower, it is recommended not to manually update/delete the roles attached. Diving deeper into the issue, I could refer that the Control Tower managed artifacts feature heavily on the compliance failure list and there is no way to specifically exclude Control Tower managed artifacts from the compliance checking. Checking further with the internal team, I found that they are aware of the issue and there has been an ongoing feature request to exclude Control Tower managed artifacts from the compliance checking to avoid these such security findings. ” So based on this feedback we ensured to make a note that the non compliance being shown may not be an accurate one and these would be treated as exceptions.
Support
- 1 month extended support
- A template for Cloud formation stack to create more AWS resources using the available stacks
- Screen sharing sessions with demo of how the services and new workloads can be deployed.
- Offer support during the initial transition phase post-migration.
- Provide ongoing technical support, monitoring, and optimization services.
Next Phase
We are now looking at the next phase of the project which involves:
- Launching new digital products with the help of AWS environments which have been setup
- Any adhoc change requests for managing the cloud environment

About Client
Landcheck is an easy and affordable way of accessing crucial natural hazard risk information about any property in Auckland. The data is collected from official sources and neatly summarized into an easy to read PDF report. This information will help you make more informed decisions when investing your hard-earned money into Auckland Real Estate.
Project Background – AWS Custom Application Development using ESRI ArcGIS
Peritos and Landcheck got together to create a AWS Custom Application Development using ESRI ArcGIS integration to generate Hazard reports for specific properties. This was used for generating land based report which can be ordered specific to an address. client wanted to create an application which gives a comprehensive report to the user for their address indicating multiple hazards. It includes 10 hazards like Flooding, Winds, Liquefaction, Coastal Erosion, Active Fault etc. This report is created based on the latest data from authorised information provider, with expert Advice from Landcheck Engineers at a optimum cost which can help the end user get the information they need to make decisions regarding a specific property. This was all being done manually which the client now wanted to develop as a SAAS based offering.
Scope & Requirement
In the 1st Phase of the custom application development, implementation was discussed as follows:
- A customized app which generates automatic reports of searched property address in Auckland Region
- Reports are generated from querying hazard data from ArcGIS server, where the information from Authorised council have been collated. Additional hazard risk calculation logic is applied on top of information returned from ArcGIS server to show the hazard risk in user friendly way. Based on the hazard risk level calculated for the property, Landcheck SMEs have also provided information to help understand the risk, which should also be added to report in a very user friendly way.
- Each hazard should have a property aerial image with hazard layers, showing how much area of the property is covered by different hazard levels.
- Reports should state the problem, hazard percentage and even the solution.
- User should be able to download the report in form of PDF files.
Implementation

Technology and Architecture
Read more on the technology and Architecture we used for AWS Custom Application Development using ESRI ArcGIS
Technology
The web app was deployed with the below technological component
- Backend Code: .NET Core, C#
- Web App code: ReactJS
- Database: PostgreSQL
- Cloud: AWS
Integrations
- Google APIs
- LINZ database
- ESRI ArcGIS
- Stripe
- Auth0
- SendGrid
Security:
- AWS WAF service is used for the firewall
- All API endpoints are token based
Responsive Design:
- All screens and UX was done keeping in mobile usage and are implemented with a responsive design in mind.
Scalability
Application is designed to be running on serverless services, so that it can easily scale up and down automatically based on usage.
Cost Optimization
Alerts and notifications are configured in the AWS to notify if the budget is being exceeded. Being deployed on serverless infrastructure, it desn’t imposes any additional cost if application is not being used a lot. Peritos being a cloud partner is managing the environment for the client keeping a close watch on the cost and finding ways to optimize the same
Backup and Recovery
- Automated backups are configured to backup the database and store multiple copies of the backup.
Code Management, Deployment
- CI/CD is implemented to automatically build and deploy any code changes.
Features of Application
- Search for an address, if the address is under supported regions then user will be able to select the address and application shows the outline of property in aerial view.
- User can get the report by creating an account on the application and making the payment
- Get the rating for the property for multiple hazards, like Winds, Flooding, Volcano, Earthquake etc. and expert advice from Landcheck Engineers on what are the remedial actions and next steps to take.
- This application, backend and front end are powered by AWS services.
Challenges
We collated data from multiple council region and helped to get this stored on AWS layer. When a user buys the report, then the risk calculation logic goes through several datasets in ArcGIS server to calculate the risks for different hazards, then combine those results along with the expert advise from the Landcheck engineers and returns the result by generating a PDF. This was taking a huge amount of time when done at the go.
- Complex calculations are required for each hazard which involves data coming from different ArcGIS feature layers. In addition to this, an image for each hazard is also created combining multiple hazard layers from ArcGIS map server. All of these calculation were taking a lot of time in generating the report. In order to resolve this, we moved all the hazard calculation logic in a separate component, which gets triggered through an event. In this we optimized the code to perform each hazard calculation on separate thread. Also, we offloaded some of the GIS calculations to ArcGIS server, and access it with ArcGIS APIs. These changes reduced the time report creation time to just few minutes.
- Testing of the application with multiple addresses and users who were experts in their domain was a challenge.
- The data was quite complicated to understand and we relied on the Landcheck’s engineers to inform us what the expected result was. We did cover a lot of suburbs and did test close to 600 properties so we could be sure it is working as expected. However there were outliers and cases which did not work as expected and had to invest a fair bit of time to resolve those.
- ArcGIS integration was an issue as all the data from different Parcel and Linz layers had to be collated on the AWS ArcGIS server so we could get the information from a single source for multiple cities and suburb region
- This data was complicated to load and we had applied layers in terms of images and legends to display the data on the report side for an end user to easily interpret the results.
Support
As part of the project implementation we provide 2 months of Ongoing extended support. This also includes 20 hrs a month of development for minor bug fixes and a SLA to cover any system outages or high priority issues.
Next Phase
We are now looking at the next phase of the project which involves:
- Ongoing Support and adding new features every Quarter with minor bug fixes
- Adding support for more NewZealand cities

About Client
The customer’s (Tonkin + Taylor) business is involved in environmental consulting or meteorological services, focuses on providing high-resolution meteorological data for various applications, including air quality analysis, weather forecasting, and climate risk assessment. Their offerings are centered around advanced data modeling using the Weather Research Forecasting (WRF) model, which requires significant computational resources due to its ability to generate detailed meteorological datasets.
Project Background – AWS Custom product for Weather research forecasting
Peritos was hired to address these challenges by developing a comprehensive system that could:
- Efficiently run the WRF model using HPC cluster.
- Automatically create and manage HPC cluster jobs on receiving new data requests.
- Automatically manage data resolution adjustments.
- Provide a seamless experience for customers through an easy-to-use online platform.
- Enable the commercialization of the datasets, ensuring that the customer could capitalize on the broad applicability of their data across multiple disciplines
Implementation
Technology and Architecture
The architecture of this application efficiently handles the computational intensity of the WRF model, scales dynamically with demand, and provides a seamless experience for users. The integration of various AWS services ensures that the solution is robust, secure, and scalable.

Overall Workflow
- User Request: Users input data parameters and request pricing. If satisfied, they proceed with the purchase.
- Processing Trigger: Upon payment confirmation, the system triggers the data processing workflow.
- WRF and WPS Processing: The ParallelCluster performs the necessary computations to generate the meteorological data.
- Post-Processing: Any additional processing is done before the final data is stored.
- Download and Notification: Users are notified and provided with a link to download their processed data.
Technology
- The web app was deployed with the below technological component
- Backend Code: .NET, C#, Python
- Web App code: Nextjs
- Database: PostgreSQL
- Cloud: AWS
Integrations
- Google APIs
- Stripe
- Auth0
- SendGrid
- Slurm APIs
Cost Optimization
Peritos enhanced Tonkin + Taylor’s FinOps capabilities by designing a cost-efficient, scalable AWS architecture. We optimized compute resources using AWS ParallelCluster, implemented serverless automation with Lambda and Step Functions, and used Amazon S3 and FSx for Lustre for cost-effective data storage. The solution allowed Tonkin + Taylor to scale on demand, reduce infrastructure costs, and gain visibility into cloud spending. This enabled efficient monetization of meteorological data while maintaining control over operational expenses.
High-Performance Computing (HPC) Environment
- AWS ParallelCluster: Provides the compute infrastructure needed to run the WRF model and WPS processes. This cluster is set up dynamically and scaled according to the computational demands of the task, ensuring efficient resource usage.
- Head Node and Compute Fleet: The head node manages the compute fleet, which executes the high-compute WRF and WPS processes.
- Head Node and Compute Fleet: The head node manages the compute fleet, which executes the high-compute WRF and WPS processes.
Processing and Orchestration
- AWS Lambda Functions: Used extensively for orchestrating various steps in the data processing workflow.
- AWS Step Functions: Orchestrates the entire workflow by coordinating Lambda functions, managing state transitions, and handling retries or errors.
Features of Application
- The solution leverages AWS cloud services to generate, process, and distribute high-resolution meteorological data.
- Users interact via an interface hosted on AWS Amplify, secured by AWS WAF and Shield, with APIs managed by Amazon API Gateway.
- The system orchestrates data processing using AWS Lambda functions and AWS Step Functions, coordinating tasks such as WRF and WPS processing on an AWS ParallelCluster.
- FSx for Lustre provides high-performance storage, while Amazon S3 and Aurora DB handle data storage and transaction management.
- Post-processing is done on EC2 instances, with notifications sent via SNS. The solution efficiently manages the high computational demands of the WRF model, scales dynamically, and ensures secure, seamless data access for internal and external users.
Challenges
- Challenge 1: High Computational Demand: The WRF model’s capacity to produce highly detailed meteorological datasets necessitates extensive computational power, which made running it on the customer’s existing local infrastructure impractical. The challenge was to find a solution that could efficiently handle large-scale data generation with optimum costing.
- Solution: This challenge was met by implementing an AWS-based high-performance computing (HPC) cluster, specifically AWS ParallelCluster, which provided the necessary computational resources to run the WRF model efficiently. The jobs on ParallelCluster were created and managed dynamically using AWS Stepfunction and AWS Lambda by utilizing Slurm APIs.
- Challenge 2: User Experience and Commercialization: To monetize their meteorological data, the customer needed to create an accessible, user-friendly portal where external users could easily select regions, adjust data resolution, and purchase datasets. The portal needed to be intuitive, efficient, and fully capable of handling secure transactions, which was essential for the success of the customer’s business model.
- Solution: The customer addressed this challenge by developing a web-based portal using AWS Amplify, integrated with AWS WAF and Shield for security, and managed via Amazon API Gateway. This platform provided a seamless user experience, enabling external customers to effortlessly interact with the system, select their data parameters, and complete purchases, thereby facilitating the commercialization of their datasets and enhancing revenue streams.
Next Phase
- Ongoing Support and adding new features every Quarter with minor bug fixes
- Adding support for more countries









