Inspiration

What it does

How we built it

Challenges we ran into

Accomplishments that we're proud of

What we learned

What's next for BizTextNepal - SMS Gateway with AWS Lambda

Inspiration

Our inspiration for BizTextNepal stems from observing the challenges faced by over 10 million Small and Medium Enterprises (SMEs) in Nepal, particularly in rural and semi-urban areas with limited or no internet access. These businesses struggle with managing customer communications and orders efficiently, often relying on manual methods, leading to missed opportunities and coordination issues. We saw a clear need for a simple, accessible, and offline-first solution to empower these businesses digitally.

What We Learned

Building BizTextNepal taught us the immense potential of serverless architectures, especially AWS Lambda, in creating highly scalable and cost-effective solutions. We delved deep into event-driven programming, understanding how to seamlessly connect various AWS services (like SNS for SMS, DynamoDB for data) to build a robust backend without managing a single server. This approach significantly reduces operational overhead and allows us to focus purely on feature development.

How We Built Our Project

BizTextNepal is an Android mobile application designed to be the primary interface for SMEs. The core innovation lies in its backend, which is fully powered by AWS Lambda. When an SMS order or query comes in, it triggers a Lambda function that processes the message, updates the order status in a NoSQL database (e.g., AWS DynamoDB), and sends automated responses. We used AWS SNS for sending outgoing SMS notifications and potentially AWS API Gateway to expose specific functions for future web integration. This serverless architecture ensures the system can handle fluctuating loads efficiently while keeping costs minimal.

Challenges We Faced

One significant challenge was optimizing the Lambda functions for low-latency SMS processing, ensuring near real-time communication. Integrating with various SMS gateways and handling different message formats also posed initial hurdles. Furthermore, developing and testing on limited hardware (a laptop with performance issues and overheating) added complexity, requiring careful resource management and frequent optimization steps to ensure a smooth development cycle. Learning and implementing the nuances of serverless development for the first time was also a steep, but rewarding, learning curve.

Built With

  • android-studio
  • apis
  • aws-dynamodb
  • aws-lambda
  • aws-sns
  • kotlin/java-(for-android-app)
  • serverless
Share this project:

Updates