Context: I've tried probably 15 different AI apps over the past year. ChatGPT, note-taking apps, productivity apps, all of it. But most of them are just clutter on my iphone.
They live in some app I have to deliberately open. And I just... don't. But you know what I open 50 times a day without thinking? iMessage. So out of mild frustration with the "AI app graveyard" on my phone, I built Flux.
What it does: - You describe a personality and what you want the agent to do - In about 2 minutes, you have a live AI agent in iMessage - Blue bars. Native. No app download for whoever texts it.
The thesis that got us here: AI is already smart enough. The bottleneck is interaction. Dashboards get forgotten. Texts get answered.
This was also my first time hitting #1 on Product Hunt, which was surreal.
It's still rough and probably broke something. If you try it, feedback is super welcome, weird edge cases, "this doesn't work," or "why would anyone use this" comments all help.
That's all. Happy to answer questions.
You can find a bit more on what's (likely) behind this in the github repo: https://github.com/photon-hq/flux
(NB: the deployed version may not be exactly the same as the code in the repo)
Here's the repo for anyone else who didn't find it: https://github.com/photon-hq/flux
Key detail from the README to help understand what's going on:
Now text +16286298650 from your phone to interact with your agent!
So photon are operating a currently free relay service at fluxy.photon.codes (that's the address that flux talks to). You register your own phone number, then any time you send a message from your number to their +16286298650 they pass it back to your agent.... but that means your agent needs to stay connected and running on a server somewhere. That's what this command does:
flux run --prod
It stays running and maintains a connection to their relay and triggers your agent code any time you send a message to their number.Based on https://github.com/photon-hq/imessage-kit my best guess is that Photon achieved this by running a Mac server somewhere that scripts iMessage via AppleScript against their own Apple ID account that owns that +16286298650 number.
Question for danielsdk: does your paid enterprise plan involve you running a Mac that's signed into a separate iCloud account that's assigned the phone number that your paying customer wants to use?
AI: Authentication successful! Go back to the webpage to continue.
Me: Hey!
AI: yooo whats good!! u got any weather stuff u wanna chat about or just saying hi?
Me: how’s the weather in New York City
AI: ohh nah i don't have real-time data so i can't tell u the actual conditions rn! but if u check like weather.com or just search "nyc weather" u'll get the live stuff instantly tho if u tell me whats goin on there rn i can get HYPED abt the atmospheric conditions!! like is it humid?? what's the pressure doin??
Is that expected behaviour?
The tiresome bro-speak is very irritating but I’m maybe not the target audience.
just tried making one using this and it initially was way too casual for me and i didn't like how it split responses into many messages but it's very responsive to my prompts to change its style.
iMessage is kind of the opposite from what this is implying though, right? It is by definition an app (and extremely closed one at that).
I would think that regular SMS or even just email would be more inline with "protocols and systems".
(I have dabbled with a similar thing for myself using my twilio phone number over regular SMS)
From https://news.ycombinator.com/newsguidelines.html: "Please don't post shallow dismissals, especially of other people's work. A good critical comment teaches us something."
It's also good to remember that there are special rules for Show HNs in https://news.ycombinator.com/showhn.html:
Be respectful. Anyone sharing work is making a contribution, however modest.
Ask questions out of curiosity. Don't cross-examine.
Instead of "you're doing it wrong", suggest alternatives. When someone is learning, help them learn more.
When something isn't good, you needn't pretend that it is, but don't be gratuitously negative.