Why Event-driven
When I interviewed at LeaseHawk, I specifically told them I was looking for a company moving toward event-driven or message-driven architecture. That's the pattern I wanted to work in. I got it.
Contributing to an Existing Pipeline
The Insights product processed voice calls for apartment properties — recording, transcribing, and analyzing salesperson performance. The architecture was event-driven: each step triggered events, handled by AWS Lambda functions, with database updates at each stage.
The Pipeline
- Voice call recorded → saved to S3
- Event published → call captured in database
- Event → Lambda transcribes the call (another developer)
- Event → Lambda extracts metadata via LLM (me + junior colleague)
- Event → Lambda scores salesperson performance (me + junior colleague)
My Contribution
I implemented the LLM-based analysis steps with a junior colleague. Each step asked the LLM different questions about the call — extracting metadata (caller intent, property interest, move-in timeline) and scoring sales performance ("Were they friendly? Did they offer a tour?").
Honest Scope
I did not architect this system. A lead architect designed the event-driven structure. I worked within it, implementing specific handlers. The architecture wasn't complex — but it was clean, and I contributed concrete pieces that shipped.
Proposing Architecture for the Next Version
When we planned the next version of the chat product — expanding to support email — I took on the architectural design role.
What I Designed
I proposed the end-to-end flow for email handling:
- Ingestion: Receiving and parsing inbound emails
- Categorization: Classifying email intent and urgency
- CRM propagation: Syncing with property management systems
- AI processing: Routing to the chatbot system with actionable tooling
- Response handling: Generating email responses and/or forwarding to human agents
The Review Process
I produced architectural diagrams that were reviewed by the entire company. We discussed them multiple times, iterating based on questions and feedback. The design was approved and ready for implementation.
What Happened
The company was acquired before implementation began. The design was never built.
The Arc
Worked within someone else's event-driven architecture, implementing specific handlers
Proposed and designed new event-driven architecture for company-wide review
What I'd Do Differently
Push for smaller proof-of-concept implementations earlier. Having the architecture approved but never built meant the design was never validated against real-world constraints. Even a partial implementation would have surfaced assumptions.