Conveyancing Workflow System
A macroservice platform transforming a traditional conveyancing firm into a modern office suite - coordinating estate agents, solicitors, clients and third parties through real-time automation, AI-powered quoting and integrated communications.
Overview
I joined AVRillo as a senior developer and was later given the lead developer role. The goal was to transform a conveyancing platform from a website into a full office suite - one that could handle every aspect of the business from initial enquiry through to completion. I built AI-powered quoting workflows, a drag-and-drop email template system, real-time Twilio and WhatsApp communications, Office 365 meeting automation, and integrations with property industry platforms. Throughout, I worked to decouple the existing macroservice architecture so that workflows spanning multiple services could be orchestrated reliably through queues and event-driven coordination.
The Challenge
AVRillo's existing platform had grown into a collection of macroservices, but many were tightly coupled - making it difficult to iterate on individual workflows without risking side effects elsewhere. The business needed more than a website: they needed a complete office suite that could handle quoting, communications, document generation, meeting scheduling, payments and client portals in a single coordinated system. Key requirements included:
- Decouple tightly bound macroservices to enable independent development and deployment
- Integrate AI to automate quote generation and document processing
- Build a drag-and-drop email template generator with MJML-to-HTML compilation
- Implement real-time communications via Twilio, WhatsApp and on-site chat
- Automate meeting bookings through Office 365 integration
- Modernise the client portal and payment flows through Checkboard integration
Architecture & Integration
The platform's macroservice architecture required careful decoupling to streamline workflows that spanned multiple services. Quotes needed to reach estate agents, but first required material information packs to be generated - a process that depended on file generation completing in one service before emails could be triggered from another. This was solved through a combination of Laravel queues, WebSocket broadcasting via Reverb and Echo, and event-driven coordination that ensured downstream actions only fired once all upstream dependencies were satisfied.
AI & Automation
AI was introduced to automate pain points that consumed significant operational time. Using OpenAI and Claude APIs, I built agentic workflows for automated quote processing - reading incoming requests, extracting relevant data and generating structured quotes without manual intervention. Beyond quoting, AI was applied to document processing and data extraction tasks that had previously required staff to manually review and re-key information. Office 365 integration automated meeting scheduling, routing bookings to the correct conveyancers, legal teams or support staff based on the context of the enquiry.
Email Template Builder
As part of the greenfield rebuild, I built the backend components for a click-and-drag email template generator. The front end produced MJML markup as users composed templates visually, and the backend parsed and compiled this into production HTML email templates with broad client support going back several years. This gave the business full control over their email communications without requiring developer involvement for every template change.
Communications & Client Portal
Using Twilio, I built an on-site communication system where website visitors could chat in real time with support teams, quote handlers and legal staff. WhatsApp integration extended this reach beyond the website, and Office 365 integration enabled automated meeting bookings with the appropriate team members. I also led the update of the client portal and payment methods through Checkboard - during which I identified and helped resolve bugs in their system so that our integration could proceed correctly.
Platform Integrations
The platform integrated with a range of external services and property industry systems. street.co.uk integration connected estate agent workflows directly into the quoting pipeline. Rightmove and Land Registry integrations automated property data retrieval. MSSQL connectivity was maintained for legacy systems in the wider business. Each integration was built to be resilient, using queued jobs and retry logic to handle third-party downtime without blocking user-facing workflows.
Engineering Standards
The codebase enforces PHPStan at level 9 with 100% type coverage across all backend services. Each macroservice runs its own Pest test suite, with end-to-end tests implemented in Cypress covering critical user journeys. CI/CD pipelines run static analysis, tests and code style checks on every push, and deployments require code owner approval before reaching production.
Technology Stack
Technical Challenges
Cross-Service Orchestration With Dependent Workflows
Quote delivery to estate agents required material information packs to be generated first - a process spanning multiple services. Built event-driven coordination using Laravel queues and WebSocket broadcasting to ensure downstream actions only triggered once all upstream file generation and processing had completed successfully.
MJML Email Compilation With Legacy Client Support
The drag-and-drop email builder produced MJML on the front end. Built a backend compilation pipeline that parsed the MJML and rendered production-ready HTML email templates with broad compatibility across email clients going back several years, handling the edge cases and rendering inconsistencies that make email templating notoriously difficult.
Real-Time Multi-Channel Communications
Implemented a unified communication layer spanning on-site Twilio chat, WhatsApp messaging and Office 365 meeting automation. Each channel needed to route to the correct team - support, legal, quote handlers - based on context, while maintaining conversation history and handoff capability across channels.