The story behind the solution that assisted an estimated 10 million citizens to apply for COVID-19 Social Relief of Distress Grants.
On 21 April, President Cyril Ramaphosa addressed the South African nation. He advised that additional social relief would be put in place to address the detrimental economic effects of COVID-19 through the COVID-19 Social Relief of Distress Grant. SASSA had the prodigious task of ensuring millions of individuals would be able to access their needed grants and quickly. They were determined to live up to the SASSA slogan – paying the right social grants, at the right time and place. NJALO! To meet what would be unprecedented demand, they decided to digitalise the grant application process. They contacted GovChat and within six days a project of magnitude like none they had ever experienced before was completed. Synthesis, GovChat’s technology partner, created a highly scalable and citizen-friendly system using Amazon Web Services(AWS) to aid millions of citizens.
Challenge
SASSA needed to accelerate the grant application process. They decided that a digital solution would fast-track and streamline this process. They estimated that 10 million individuals would apply for the grant with half choosing to use a digital option and the other half would apply for the grant through SMS or USSD. This digital solution would need to scale to manage exceptional and unpredictable volume. They consulted GovChat CEO and Founder Eldrid Jordaan to assist them. GovChat is South Africa’s largest civic engagement platform that has been connecting citizens to Government. Jordaan, consulted Synthesis and they agreed they would design, create and implement a system as quickly as possible to assist South African citizens. “The Synthesis team has been phenomenal. We are fortunate to have an investor like Capital Appreciation (CTA) which made the synergies possible with Synthesis, which is a subsidiary of CTA. They are an amazing talent that will surely help us build Africa’s digital future,” says Jordaan.
Solution
Within six days, from ideation to production at country scale, the Synthesis GovChat Team produced the digital solution. This is a feat given the requirements of scale with 2.2 million applications already submitted within the first week of June. “SASSA expected approximately ten million citizens to access this digital solution, but we could not accurately predict how many citizens would access the platform on any given day or time. The system would need to be designed to handle profound volumes, explains Naseem Ahmed, Synthesis Project Lead.
Citizen centric
The system would need to be as citizen centric as possible. With this in mind, the GovChat chatbot was used where a person sends a Whatsapp or a Facebook message to GovChat. They are then given a one-time pin (OTP) to ensure security and a unique form ID. They then complete the form on an easy-to-use and secure portal. “This is a single secure webpage where citizens can complete a few details and then press submit. It is as simple and fast as that,” explains Ahmed. They chose to integrate into WhatsApp and Facebook as they did not want citizens to have to use data to download another app. They also found that people have limited space on their phone and were already comfortable with these platforms. “Every decision was made with the citizen in mind,” explains Ahmed.
Designed to scale
“Everything we chose had to be serverless to cater for unpredictable scale. Serverless by design is best to cope with magnitude. If the solution was placed on infrastructure, it would need to be massive and we would have overbought if we had bought to deal with the number of users on the first two days. The AWS Cloud allowed us to grow with the mass influx of the first two days and then scale down as we reached a plateau,” says Ahmed.
Unprecedented volume
The GovChat Synthesis Team worked at warp speed to create the solution. However, there were many obstacles due to unpredictable demand that stretched the limits of cloud.
The team began by building the system on AWS in Ireland but then decided to migrate the solution into the local AWS Africa (Cape Town) Data centre. However, the limits of the new data centre were not high enough to meet the massive requirements of this solution. Jordaan immediately contacted AWS through an established WhatsApp group and, realising the importance of what GovChat was doing, AWS made this a priority project. The limits quickly were increased to accommodate the scale of the project.
The next challenge came in the form of the WhatsApp messages not being received on the system. The platform had exceeded its limits, and this had to be urgently increased. The WhatsApp service provider had to rebuild the infrastructure to meet the demand.
During the Monday launch, GovChat had managed to reach the limits of AWS Lex. These limits were unchangeable on the console itself because it was unprecedented that such numbers would be requested. The request went through to AWS Seattle on Monday and at 3:00 am on Wednesday, the AWS team had deployed new code changes to allow for such demand. Synthesis had managed to touch the limits on almost all AWS services they were using, and these had to be increased to the maximum.
The Synthesis Team were using AWS Lex. The chatbot needs to understand what is being communicated and this is where AWS Lex comes in. Lex makes sense of what is being sent. Every message sent to Lex is another transaction. AWS increased the Lex limits to 1 000 transactions a second to accommodate the transactions received during the first few days of the solution going live. The chatbot was speaking to 320 people simultaneously every second. “We are currently the largest user of Lex in the world. No one uses more of the Lex service than us and this truly depicts the magnitude of this project,” says Ahmed. Once all limits increased, GovChat was able to provide a seamless, fast and intuitive solution.
Technology used:
- AWS Lex
- Lamda Dynamo and Aurora serverless databases
- S3 Buckets
- AppSync
- CloudFront
- API Gateway
Results
The solution was successful with every element designed to scale to cater for millions and then shrink when the demand plateaued. What would have been a manual process was now a speedy process that could be completed in the comfort of the citizen’s home within minutes, allowing SASSA to meet their goal – assist citizens speedily. “The results have been phenomenal. We have become one of the fastest growing engagement platforms in the world. Ninety million messages have been shared in the first two weeks, across our suite of features,” explains Jordaan.
“In the first ten days, we processed 59.8 million messages with 1 928 529 active users. The scale is unbelievable. We knew that the solution would have to accommodate so many people, but never to the scale that we witnessed. We had never experienced a project of such enormity in all our careers. There were 260 000 messages in a minute and by day two of launch, after we had increased all possible limits, errors were miniscule. Once the first few days passed and the hype died down, 2 000 to 3 000 messages per minute became the standard,” says Ahmed.
Ahmed continues, “We stretched the capabilities of the cloud to its extreme end. We also stretched our personal limits, working day and night. We are exceptionally proud that this solution was made for South Africans by South Africans, allowing millions to apply for much needed grants within minutes. What is also exceptional is that this solution was built by young people, the average age of the development team is 25. This is taking the 4th Industrial Revolution to new heights. It is gratifying to find a way to help people during such trying times”.
Jordaan concludes, “For us at GovChat, technology is a critical enabler. This is evidenced by our partnerships with the South African government. When you use the right tools and talent, anything is possible. The future belongs to those companies that are willing to work to enhance their societies. Social good must be at the centre in order to build the right kind of partnership with partners and ultimately the end-user.”
Future steps
The next steps are to build the functionality where you can ask the chatbot the status of the application. Once approved, the user will be able to safely supply their banking details.