Engineering notes

Capture first. Notify afterwards.

Designing an enquiry operation that can survive a failed downstream delivery.

A project enquiry has two different outcomes: saving the brief and telling someone that it arrived. Treating those as one synchronous network operation creates an unnecessary failure dependency. If notification fails after the lead is saved, the visitor may retry and create a duplicate.

The conversion implementation saves a lead and a notification job in the same transaction. The request returns after persistence. A separate worker delivers the event with an ID the receiver can deduplicate, then records success or schedules another attempt.

The browser carries a submission key through uncertain retries. The backend compares a hash of the submitted data before returning an existing receipt. Reusing a key with a changed brief is a conflict, so the form creates a new key when the details change.

An enquiry contract

  • Acknowledge persistence before showing success.
  • Persist notification work alongside the lead.
  • Bound retries and keep a visible failed state.
  • Run analytics after acknowledgement and isolate its failures.

Read the capture case study

Discuss your backend

A clear next step

Bring us the constraint.

Share the product, the problem and what a useful outcome looks like. We’ll discuss the scope before committing to delivery.

Discuss your project
Start a project