Back to home
Project 9 · Aug 2026 – ongoing

RedBridge Group CRM

Role: Sole architect & developer · Group-wide CRM replacing a 5,076-row manual spreadsheet · 4 business units · 2 countries · Stage 1 of 7 in progress

Business Impact

Cost

Zero per-seat licensing at any headcount, against a commercial CRM charging per user per month indefinitely — and one that would still need custom development, because more than half the client journey happens after the sale. Infrastructure runs on usage-based hosting rather than seats, so cost doesn't scale with hiring.

Operations

Retires a spreadsheet where all 5,076 client records were typed by hand. Three specific failures it fixes: repeat enquiries were capped at two columns and lost their marketing attribution; marketing and sales disagreed on lead quality invisibly (592 qualified vs 261 accepted — a 44% gap nobody could see); and a client using two business units became two unrelated records with no shared history.

Scale

Four business units, two countries, five Australian states and two Chinese provinces — with the structure held as configuration rather than code, because the organisation is mid-restructure and will change again. Bilingual English/Chinese throughout, including database-stored values, since most staff work in Chinese.

Scale at a Glance

5,076
Manual records replaced
4
Business units
2
Countries
~40
Staff
7
Delivery stages
44%
Marketing/sales gap
$0
Per-seat licensing
1/7
Stage complete

Project Summary

FieldDetails
Project NameRedBridge Group CRM
项目名称红桥集团客户关系管理系统
PeriodAugust 2026 – ongoing
周期2026年8月 至今
CompanySiddeley Group / RedBridge Consulting
公司Siddeley Group / 红桥咨询
RoleArchitecture, data modelling, full-stack development
职能系统架构、数据建模、全栈开发
ScopeGroup CRM — 4 business units, 2 countries, ~40 staff
范围集团 CRM — 4 个业务单元、2 个国家、约 40 名员工
StackNext.js 16 · TypeScript · Supabase (Postgres 17) · Cloudflare Workers · next-intl
技术栈Next.js 16 · TypeScript · Supabase(Postgres 17)· Cloudflare Workers · next-intl
TimelineAug 2026 – ongoing · ~8 months planned · 7 delivery stages
周期规划2026年8月 至今 · 规划约 8 个月 · 7 个交付阶段
StatusFoundations complete · Stage 1 of 7 in progress
当前状态基础架构已完成 · 第 1 阶段(共 7 个)进行中

Key Highlights

  • Solved identity across two channels with no shared key — website leads are 100% email; RedNote (小红书) leads are 96.7% social handle and only 10.8% email, so identity is modelled as rows rather than columns. A wrong merge would expose one client's passport to another through the token-based portal, so merging requires verification and human review by design.
  • Made security a database property, not a UI one — access control is enforced in Postgres row-level security, with permissions stored as data and editable without a deploy. The first automated test asserts the security rules against the schema: RLS on every table, no privilege-escalation surface, six tables never exposed to the client API.
  • Designed bilingually rather than translating afterwards — structured data stores language-neutral codes rendered per locale, so Chinese and English staff read the same record in their own language with no conflict. Chinese text search required trigram indexing, since standard Postgres full-text search can't tokenise a language without spaces.
  • Modelled the business as it actually operates — marketing and sales qualify leads separately and disagree, so both judgements are recorded and the gap is reportable. Business units own revenue while territories own selling, so ownership is split accordingly. Repeat enquiries are unlimited events with full attribution, not a second column.
  • Grounded the design in the real data — profiled all three existing sources (5,076 rows, 71 rows, 15 rows) before designing anything. That surfaced mixed date formats, 369 inconsistent city values, missing country codes and 52% unmapped visa categories, each of which changed a modelling decision.
In BuildStage 1 of 7

A group-wide CRM for RedBridge Group — four business units across Australia and China — replacing a 5,076-row manual spreadsheet and an earlier in-house portal. Currently in build: architecture, data model and foundations complete.