← all projects

K-Electric complaint system: customer support over SMS

C# · SMS · multithreading · utilities

Context

Customers needed a way to register complaints, check faults, see load-shedding schedules, ask about bills, check defaulter status and find their account number, without needing a web app.

Why SMS

In 2017 the obvious choice was an app or a website. The better choice was SMS, because customers need this system most during a power outage. With no power there is no wifi, and people try to save their phone battery. SMS works on any phone, uses the mobile network, and costs almost nothing.

Choosing the simple option over the fancy one was the most important decision.

Engineering challenges

Incoming SMS comes in bursts, and the biggest bursts happen during the biggest faults, when many people in one area send messages at the same time. The system is multithreaded so it can process many messages at once. A system that handles messages one by one would fail exactly when people need it most.

Each message type runs a query against the utility's systems. Replies had to fit within the SMS length limit and still be clear. Short replies were a hard requirement, not a style choice.

Stack

C# · multithreaded desktop app · SMS gateway integration