Overview
What was built and why it matters.
Designed and prototyped at Lyor as part of the Senior Software Engineer role; the work is intentionally presented at prototype scope rather than as a fully deployed production product.
Property leads arrived through inconsistent messages, forwarded content, images, and partial details. The challenge was to transform ambiguous inputs into structured workflow state without allowing extraction errors, duplicate records, or opaque automated decisions to propagate unchecked.
Engineering approach
- Defined a canonical lead schema covering contact, property, location, commercial, source, and follow-up attributes.
- Designed a message-ingestion and normalisation stage that preserved the original content while producing machine-readable text and media metadata for downstream processing.
- Modelled extraction as a confidence-aware step with required-field validation and explicit review states for incomplete or ambiguous leads.
- Placed duplicate detection before ranking and follow-up so repeated listings or forwarded messages would not trigger redundant actions.
- Represented broker ranking and follow-up as separate workflow stages with explainable inputs rather than a single opaque automation step.
- Kept human approval available for low-confidence extraction, uncertain duplicate matches, and high-impact follow-up actions.
Challenge
The system problem.
Unlike a conventional form, the input could contain shorthand, missing fields, duplicate forwards, inconsistent names, multiple properties in one message, and media whose meaning depended on surrounding conversation. The system therefore needed to manage uncertainty rather than pretending every input was complete.
Constraints
Known boundaries and deliberately unclaimed details.
- Messages and attachments could be incomplete, multilingual, duplicated, or context-dependent, so the workflow needed confidence thresholds and explicit unresolved states.
- Duplicate detection had to balance false positives against repeated follow-up, making explainable match signals and manual override important design requirements.
- Automated ranking and outreach could affect broker relationships, so consequential actions required traceability and a human-review path.
- The prototype needed to demonstrate workflow feasibility without implying production readiness before privacy, retention, evaluation, and operational controls were validated.
Role and ownership
Individual contribution.
- Owned the product-system design and prototype definition as Senior Software Engineer.
- Mapped the manual lead-handling process into discrete, observable workflow stages and state transitions.
- Defined extraction, validation, deduplication, ranking, follow-up, and review responsibilities.
- Designed system boundaries that would support replacement of channel or model providers without rewriting the entire workflow.
- Documented production-readiness gaps and the evaluation work required before broader rollout.
Contribution summary
- Designed the end-to-end workflow from channel intake through extraction, validation, duplicate detection, ranking, review, and follow-up.
- Defined the canonical lead structure and the boundaries between deterministic rules, AI-assisted interpretation, and human judgement.
- Translated an informal, message-driven business process into explicit system states that could be logged, tested, retried, and reviewed.
- Designed for provider independence by separating channel ingestion, extraction, business rules, and action orchestration.
- Kept prototype claims appropriately scoped while documenting a credible path toward controlled production validation.
System architecture
A profile-backed view, not an invented topology.
- A webhook-style intake layer receives message events, preserves source metadata, normalises text, and records media references with an idempotency key.
- An extraction stage maps unstructured content into a canonical lead schema and attaches confidence, missing-field, and validation information to each extracted attribute.
- A duplicate-detection service compares normalised contact, property, location, and source signals before a lead can enter ranking or follow-up workflows.
- A workflow orchestrator advances valid leads through broker ranking, review, scheduling, and follow-up states while retaining an audit trail of decisions and overrides.
- Human review acts as an explicit control point for low-confidence extraction, uncertain duplicate matches, and actions that should not execute autonomously.
Key engineering decisions
Choices supported by the supplied work.
- Normalise and validate unstructured input before applying business automation.
- Preserve original message context alongside extracted fields so reviewers can audit how a record was derived.
- Run duplicate detection before broker ranking or outreach to reduce redundant work and conflicting follow-ups.
- Use confidence-aware review thresholds rather than treating AI-assisted extraction as inherently correct.
- Keep channel, extraction, business-rule, and action adapters separate to support testing and provider changes.
Performance and reliability
What changed measurably.
- Converted a loosely defined manual process into an explicit workflow with named states, validation gates, and review points.
- Made duplicate detection a first-class precondition rather than a cleanup activity after follow-up had begun.
- Introduced structured lead contracts that make downstream ranking, search, analytics, and integrations more predictable.
- Designed human oversight into the workflow instead of adding it as an exception after autonomous actions were defined.
Technologies
The verified stack and focus areas.
Outcome
The result without inflated claims.
A credible prototype and system design showing how unstructured WhatsApp leads could become structured, searchable, duplicate-aware, ranked, and follow-up-ready workflow records without obscuring uncertainty or removing human control.
Lessons and future improvements
What the evidence suggests—and what still needs verified content.
Lessons
- Separating extraction, validation, deduplication, ranking, and action stages makes ambiguous automation substantially easier to test and explain.
- Confidence should influence workflow behaviour; it is not merely a model statistic to display after a decision has already been made.
- Human review is most useful when the system exposes the original evidence, extracted fields, match signals, and proposed action together.
Future improvements
- Create a labelled evaluation set covering extraction completeness, field accuracy, duplicate precision and recall, ranking consistency, and follow-up appropriateness.
- Run a shadow-mode pilot that compares system recommendations with human decisions before allowing automated external actions.
- Add durable queues, retry policies, idempotent consumers, rate-limit handling, and dead-letter review for message and follow-up processing.
- Define consent, access, encryption, media-retention, deletion, and audit requirements before production data is processed at scale.
- Use reviewer feedback to improve extraction rules, duplicate thresholds, and broker-ranking features through a measurable closed-loop process.