
Show HN: Balto, an API to Send iMessages - rolstenhouse
https://balto.withterra.com/
======
dsukhin
Great work here. Are you using the legacy AppleScript interface [0] provided
to Messages? I built an iMessage bot a long time ago that would respond
automatically to messages you sent it and save notes for me using that and
found it to be pretty reliable and easy to script but with a number of quirks
and gotchas. I even bridged it out to Python to make it easier to work with.

The only limitation of course was that a Mac had to be always on, logged into
the relevant account, connected to the internet, and running AppleScript to
run it so there was no dream to scale it reliably/economically (as you are)
much less even use it privately since the Mac was also a primary laptop. How
are you getting past one device, one account scalability problem? Mac in cloud
on the roadmap?

How do you consider you will scale this and at what cost? Have you checked
into Apple's viewpoint and policies on this given they offer a business API
[1] for a similar solution?

[0] [https://stackoverflow.com/questions/11812184/how-to-send-
an-...](https://stackoverflow.com/questions/11812184/how-to-send-an-imessage-
text-with-applescript-only-in-provided-service)

[1] [https://www.apple.com/ios/business-
chat/](https://www.apple.com/ios/business-chat/)

------
rolstenhouse
Hey HN, proud to share balto, an API to send iMessages from a new phone
number. I originally built this out to take advantage of the iMessage features
(specifically read receipts and videos) after sadly learning that these
features are severely limited when using Twilio or other SMS providers.

From there I went down a crazy rabbit hole, talking to apple support, shopping
on eBay for an old iPhone, digging through poorly documented JXA (javascript
to control your mac), and eventually landing on a MVP which today supports
sending new iMessages from a custom phone number and looking at read receipts
(if the other party has them turned on); with many more features on the way
(think full videos, audio recording, tapbacks, group chats, etc.)

Love this community and the valuable feedback y’all provide!

------
probe
This is super cool! There's definitely an advantage to being a native iMessage
vs just sending out texts.

Also if I'm understanding correctly, I can also use the API to understand if a
message was read or not?

------
nickphx
That's pretty neat. So you are controlling imessage software on a physical
device? You haven't had control synchronization problems or stability issues?

~~~
rolstenhouse
Yes. There's a mac mini running which directly interfaces with the Messages
app and underlying data storage. There's been a few synchronization problems,
but for the most part the Messages platform is fairly robust. Unfortunately,
there's a couple sleep statements that I had to write in for the short term,
but there's a path to removing them in the long term.

