Open Source

Promise is a proud member of the open source community. We maintain open source software repositories and are continually working to share the technologies we develop.

Intelligently splits SMS messages into multiple messages, with support for Mustache templates.

Sending SMS messages to a service like Twilio can be very hit or miss with regards to the quality of the messages delivered. The reasons are two fold.

  • Messages are split every 160 characters, regardless of context. This means they can be split in the middle of words, or in the middle of a single piece of information such as an address.
  • Messages are often delivered out of order due to mobile networks not guaranteeing order of delivery.

Both of these result in a bad user experience.

sms-splitter can help with this. It offers the following functionality

  • Split your messages ahead of time. This lets you send them on your own schedule, not all at once, helping them arrive in the right order (you have to do this part yourself of course, as it is specific to how your service sents SMS messages).
  • Always split on spaces, never in the middle of a word or number.
  • Split around meaningful parts of the message, for example a person's name or an address. This is achieved by providing it with a Mustache template and data to populate the template. sms-splitter will make every effort to always keep all the content of each token in the same single SMS message.

This project makes it simple to upload a file to a Google Cloud Storage bucket using Google's HTTP JSON Api. This is an option you can use instead of having a dependency on the entire Google SDK toolchain, which can have some downsides.

Mainly, it's huge, over 80MB of node_modules. If you are packaging that into a deployable package such as an Electron app or an executable created with pkg then that is a huge dependency to pull in when all you want is to enable uploading a file.

Secondly, the authentication token generation for service accounts is useful as you can use this token elsewhere with Google's services.