Podcast · Lead-intake engine · Deep dive

The Week of Whack-a-Mole

Five bugs in one week were really one bug wearing five hats — and the design that survived two rounds of people trying to break it before anyone builds a line of it.

Companion to Lead-intake engine: where we are, where we’re going, the design record this episode is built from (revision 5, converged after four adversarial rounds: 25/19/17/5 findings). Everything here is proposed — nothing ships to a real customer without Fede’s own go.

The Week of Whack-a-Mole

Deep dive · two hosts · audio pending

What it covers

One ordinary week produced five separate bugs in how a prospect's inquiry becomes a lead: two people quietly fused into one, two competing applicants merged into one, a cosigner marker ignored, one apartment showing up under two different addresses, and one dead identity marker taking an entire property's sync offline. Told one after another, the pattern is obvious: not five bugs, one bug wearing five hats. PropFlow has two separate places that turn a raw signal into a lead — one for Clara handling a call, text, or email directly, one for the periodic pull from the property-management system — and any rule that lives in only one of them is a place they can silently disagree.

Then the proof ground: the Willows, a real test property where real guest cards and real applications get run through the actual product and checked against the live database, because a written test never would have caught a family member getting silently fused to a known lead on a bare phone-number match with no name comparison at all.

Then the review: four full rounds, almost always two engineers each round with the explicit job of trying to break the design. The count shrank every round — 25, then 19, then 17, then 5 — among the findings a consent rule that only worked today by accident (twice, in two different ways), and a shared identity system capable of silently renaming a real tenant on a bare phone match.

Then the engine that survived all of it: every source gets a small adapter, one shared signal shape, one five-step pipeline, a written record of who said what and when, reply identity kept fully separate from intake, a four-mode setting for who owns a customer's data, and write-back built as its own careful, later step. Then the three decisions that are Fede's alone to make, and the build ladder every step of this has to survive — dark, proven at the Willows, clean against regression, run through the setup gauntlet — before any of it reaches a real customer.

Before you quote anything from this

Everything on this page is proposed, not built — a design record revised twice after four rounds of adversarial review, not a shipped feature. No real applicant or tenant name appears anywhere on this page or in the audio, once it exists: only the fictional test property (the Willows) and the customer names already public on the source page (Camellia, Yale 25 Station, Situs Group, Western Slope). The audio, once it exists, is a machine-generated overview of the brief below, and the transcript is machine-made from that recording; proper nouns and ticket numbers are fixed by hand before anything is quoted.

Chapters

  1. The week that made this necessaryFive bugs, one cause: two doors that turn a signal into a lead, each with its own rulebook, guaranteed to drift.
  2. Two doors, one identity spineWhat Door A and Door B each protect against today, and the one setting — which mailbox a lead arrives in vs. who replies — that has the same problem one layer up.
  3. The Willows: why a written test isn’t proofA family member fused to a known lead on a bare phone match, no name check at all — and the case that correctly stayed separate.
  4. Four rounds, and the count that matters25, then 19, then 17, then 5 — why a shrinking, nonzero count is what convergence actually looks like.
  5. The rule that only held by accidentThe never-text-without-consent rule lives in one door as code that's simply never called — nowhere written down as something the merged pipeline has to keep.
  6. The rename nobody asked forThe shared identity system's name-check fix never reached the tenant path — where a bare phone match still silently overwrites a real tenant's name on file.
  7. The email that needed proof firstWhy the fastest-looking shortcut got demoted from primary intake to a trigger, pending one day of checking real examples.
  8. The budget nobody had done the math onChecking every 60 seconds barely dents the real ceiling — the actual unmeasured risk is how much data comes back each time.
  9. The engine: one door for every sourceOne small adapter per source, one shared signal shape, one five-step pipeline, and a written record of who said what and when.
  10. Four modes, not threeWhy the old "PropFlow never writes back" policy couldn't describe Western Slope's actual, explicit, read-only-for-now situation.
  11. The three decisions only Fede can makeAmend the write-back policy, pick the primary intake path, and build the opt-out list before write-back ships anywhere.
  12. The build ladder and the proof rulesDark, Willows-proven, regression-gated, gauntlet-checked — and turning it on for a real customer is always a separate, later, Fede-approved step.

One chapter per major turn in the source brief. The list is hand-written — nothing derives it from audio — and the titles are also what goes in the recording tool's focus prompt. Each one already points at a transcript heading (#ch01#ch12); the links go live the moment the transcript is pasted in, and until then a click is a deliberate no-op.

PropFlow Docs