wGrow
menu
Studio note · Migrated 2026-03-25 · 5 min

EC sales systems for property developers, four years on.

Our 2023 build for a property developer's Executive Condominium sales-day system — SFTP to HDB, SHA-256 columns, real-time OTP generation — ran clean through three EC launches. Here's what changed.

In 2022 we built an Executive Condominium (EC) sales and reporting system for a Singapore property developer, after HDB pushed EC e-application onto developers’ own systems. The original write-up (Team-Notes #63) covered the highlights: hardened server posture, SFTP integration with HDB via Reflection for Secure IT, SHA-256-encrypted columns for buyer data, real-time generation of Option to Purchase (OTP) docs and side letters from Word XML templates, both cloud and on-prem deployment, and post-launch data purging.

The system ran three EC launches without incident. It’s still in production. Here’s the 2026 update.

What carried over unchanged

  • The launch-day surge profile. ECs sell out in hours; the system has to absorb that without complaint. The original capacity plan held.
  • SHA-256 column encryption + key custody in HSM. PDPA-defensible; auditor-defensible.
  • Word-XML templates for OTPs and side letters. Boring, deterministic, easy to update without code changes.
  • Auto-purge of personal data once the sales process completes. PDPC continues to hammer on retention; we’re glad we shipped this from day one.

What we’d change

1. SFTP to HDB is now usually IBSS-fronted

The 2022 design used a dedicated SFTP server at the developer’s edge. In 2024 most developers route HDB integration through their corporate IBSS / API gateway, which sits in front of the SFTP transport. The actual data plane is the same; the developer’s IT team gets a single audit point.

2. We sign every generated OTP

The original generated password-protected PDFs. In 2024 we added signed generation — every OTP is a digitally-signed PDF with the developer’s certificate. It made post-launch dispute resolution dramatically simpler the one time we needed it.

3. Eligibility checks are not the agent’s job

A few developers asked us in 2024 whether an LLM could pre-screen EC eligibility (the classic income / household / Singaporean-citizenship / first-time buyer matrix). We tried it. We do not recommend it. Eligibility is a deterministic-rules problem, the rules change in policy windows, and a wrong “yes” costs the developer real money. We use deterministic logic with a versioned rule set and a regression test suite.

Where an agent does help: drafting buyer-facing emails when an application is incomplete or rejected. The agent reads the rejection reason, drafts a clear explanation, and a sales staff member signs and sends.

4. On-prem is no longer the default for new launches

In 2022 we offered both on-prem and cloud; on-prem was popular among developers nervous about cloud. By 2024, most new EC launches are cloud-only. Cloud is now the default; on-prem is a constrained option for clients with specific regulatory or board-level reasons.

The launch-day playbook

For anyone doing this kind of system in 2026, our launch-day defaults:

  • Pre-warm. The day before launch, run synthetic load equal to ~150% of the expected peak, end-to-end through the full stack including the HDB integration.
  • Scale ahead. Don’t auto-scale on launch day; manually pre-scale to expected peak. Auto-scaling lags real demand by minutes you don’t have.
  • Read replicas off the hot path. All reporting, audit, and HDB-status checks read from replicas. The primary handles writes only.
  • Two on-call engineers, one on-call partner. Three pairs of eyes for the first hour.
  • A frozen change window starting 48 hours before launch. No changes to anything until the post-launch standup.

What we cut from the original

  • The implication that on-prem and cloud are equally chosen. They are not in 2026.
  • The phrase “blueprint for organizations facing similar challenges.” It overclaims.

What carries over unchanged

The launch-day discipline. Property developers do this once or twice a year. Get it right or get a phone call from the COO at midnight.

— wGrow studio · migrated from Team-Notes #63