We add a lot of extra features on top of the twilio api, like: send and receive messages, context for conversations, scheduled messages and contact management.
2) just keep a db log - simple
3) omg - set an int(12) of time() when you want it sent in DB... run a cron script, check if currentTime>sendTime... send!
4) meh - simple enough
I don't get how companies like this get funding - so simple and do nothing imo except provide another point of failure.
1. You have to build an endpoint and process the inbound requests, that takes a good deal more engineering time than making an api call to check for them.
2. This gets complex when you're sending messages to users in the context of groups an individuals. it's not a big problem but you'd still have to code it.
3. That sounds simple but doesn't account for things like timezones.