Using Python, JavaScript and AWS to help Boost
Boost streamlines the process of stock ordering for small businesses in Africa. Through a user-friendly WhatsApp interface, businesses can easily order supplies and have them promptly delivered to their location. This allows local shop owners and restaurant operators to conveniently acquire the produce they need while continuing to serve customers. Currently operating in Ghana, Nigeria, and South Africa, Boost is rapidly expanding throughout the continent. The platform is primarily built on Python and hosted on Amazon Web Services (AWS) using AWS Elastic Beanstalk, with data storage managed by Amazon RDS and Amazon DocumentDB. Vonage facilitates Boost’s use of the WhatsApp Business API. The platform features web applications for both customers and administrators, along with an offline-capable web app for inventory purchases, utilizing IndexedDB for data persistence.
Why did Boost seek assistance from Lambert Labs? They reached out for support across various aspects of their technology stack, including cloud computing with AWS, Flask API development, and frontend UI enhancements. As AWS Select Partners with expertise in Python and solid frontend experience, Lambert Labs was well-equipped to assist Boost’s team.
What have we accomplished? Here’s an overview of the work completed for Boost so far:
- Implemented an event-streaming system on AWS using Apache Kafka and Amazon EC2 to ensure reliable delivery of customer messages to a Natural Language Processing (NLP) engine, improving user experience by reducing timeouts.
- Developed an offline application for stock purchases with data persistence managed by IndexedDB.
- Established a Celery worker cluster on AWS ECS to delegate a crucial step in the online ordering process to background workers and facilitate scheduled tasks.
- Launched a secure staging environment on AWS Elastic Beanstalk, with automated database synchronization jobs run via AWS Lambda and AWS Step Functions.