Inspiration

I wanted to create a one-way channel for communication where a group/institution/organization can send out messages to its members. This could be a school/workplace/institution for elderly/social organization or more. The idea also was to make it simple for the Administrator to initiate the messaging via a single SMS. And finally the ability for members to select how they want to receive their messages i.e. SMS/Call/Email or more.

What it does

  • ReachOut is a communication platform for any Organization, Institution, Interest Group to reach out to their members/subscribers/students.
  • All members are organized in different groups, identified by a keyword.
  • The Administrator of the Group needs to send out just a single SMS message to a Authorized Number, using the keyword to filter out specific target members.
  • The ReachOut System will then identify the Keyword and reach out (send the message) to the members
  • It currently supports SMS, Call and Slack as the channels to which it can send out messages

How I built it

The Application hosts a Google App Engine application that is invoked by Nexmo. This application written in GoLang will publish the message to PubNub. A separate client application, that is the subscriber to the PubNub channel will receive the messages and send out the messages via SMS, Call or Slack as indicated by the members.

Challenges I ran into

Needed to get a virtual number for my country. Nexmo was kind enough to provide that.

Accomplishments that I'm proud of

The application is scalable in most respects due to its hosting on App Engine, an asynchronous mechanism via PubNub and a simple way for Administrators to use Excel files to manage the contacts. My use of Go Language was also to demonstrate how the language fit the use case well.

What I learned

Nexmo APIs, PubNub APIs, more features of Go Language

What's next for ReachOut

  • Announce as Platform
  • Sign up for a group
  • Allow provisioning of a Nexmo number from the platform
  • Run the client application in the Cloud
  • Automated Reminders
  • Instead of manually sending SMS, schedule them out, repeated reminders
  • Error Handling / Retries of PubNub messages
  • Support for more channels - Email, WhatsApp, Social Networks, etc.

Built With

Share this project:

Updates