---
title: "Text your tools"
section: posts
description: "Wiring a Farfield homelab up to iMessage with Photon and OpenPoke, so slash commands reach personal apps and talking to your agent feels like texting a friend instead of learning another tool."
tags: ["ai-agents", "imessage", "self-hosting", "homelab", "personal-software"]
created: 2026-08-25T15:16:52Z
updated: 2026-08-27T13:45:12Z
cid: bafkreigiazsn66idd2e3iaqvnwr6tymo2cvuhsij2uzk3tw4yfvz67u6i4
html: https://iammatthias.com/posts/text-your-tools
---

# Text your tools

If you've spent enough time in the AI trenches, you've probably seen the different ways people message their agents. Back when I was fiddling with [Koios](https://iammatthias.com/posts/1768671170751-koios-memory-feedback-and-containment) I set up Telegram, and that's been the stickiest solution. When [OpenClaw](https://openclaw.ai/) hit the scene and took over the meta I tried Slack and Discord, then repeated the process with [Hermes](https://hermes-agent.nousresearch.com/). Eventually I found myself back on Telegram.

And then a new wave of interfaces landed. Opinionated multiplexer and mobile shell stacks ([tmux](https://github.com/tmux/tmux/wiki) + [Termius](https://termius.com/index.html), [herdr](https://herdr.dev/) + [moshi](https://getmoshi.app/), etc), [T3 Code](https://t3.codes/), [Buzz](https://buzz.xyz/), [Berd](https://berd.xyz/), [Grok Bot](https://x.ai/bot). Honestly I've lost track of them all. Maybe I'm becoming a bit of a luddite, but I don't want a "cute lil guy" in the default agent stack, and I really don't want to be dealing with terminals on the go. The ~~Codex~~ ChatGPT and Claude apps are both moving in the right direction with their remote functionality, but the sandbox friction drives me crazy. Grok Bot isn't much better. It's just OpenClaw for normies.

What I keep coming back to is I want my agents to feel familiar. The new wave of tools like [Poke](https://poke.com/) and [Instinct](https://instinct.co/) are taking what I think is the right approach with their iMessage-first ethos. Talking to your agent should feel familiar. It should feel easy. Requiring an app and a bespoke mental model forces the end user to operate on your terms instead of theirs.

Here is where things start getting messy for me. I don't *like* most of these platforms. OpenClaw and Hermes are bloated, Poke and Instinct are security nightmares, and Buzz, Berd, and Grok all put your tools behind a lil guy. Just give me the model and let me work on my terms, please.

Most of what I want an "assistant" for day to day involves stuff I built for myself, namely my [Farfield apps](https://farfield.systems/). These run a growing swath of my life. They're the backend for [my site](https://iammatthias.com/), OPDS, bookmark collection, QR generator, snippet pasteboard, and more. Farfield has grown into an [Omarchy](https://omarchy.org/)-style collection of dotfiles on top of Arch, a [bespoke OS](https://os.farfield.systems/) tailored to my [homelab](https://iammatthias.com/feed/3995b0udmg). And like Omarchy, I included a [harness](http://omp.sh/).

![](https://blobs.farfield.systems/blobs/bafkreige6vpneau2c23qze5oxibvvatcalgccd4e5ztac3gacs32kh4oly)

Enter [BlueBubbles](https://bluebubbles.app/), [SendBlue](https://www.sendblue.com/), and [Photon](https://photon.codes/).

The goal was to interact with my homelab over iMessage. Simple enough (hah!). BlueBubbles was a nonstarter. I don't want to add a Mac to my server stack just to proxy iMessages. SendBlue was intriguing, and [comes up frequently on X](https://x.com/search?q=sendblue&src=typed_query), but is very sales focused. It seems like an excellent product, but it had too many pipeline bells and whistles that I don't need, and the price jumps from `free` to `$100/month`, which... no. Photon offers a similar free plan, an easier agent setup, and if I need the paid plan it starts at $25. Since I'm building this for an audience of one, I went with Photon.

This is where things get fun. Remember the harness? OMP runs as part of Farfield OS and handles /slash commands and arbitrary prompts. So I can post to `/feed`, `/qr`, and `/bookmarks`, or search my `/OPDS` for a book. It is all intentionally opinionated, and that's the point. [Software has been one-size-fits-all](https://iammatthias.com/posts/1743724413087-code-and-cloth) for too long. One of the coolest things about AI is that you can customize the tools you use every day, and even make them for yourself.

[OpenPoke](https://www.shloked.com/openpoke) was a huge help. Shlok's work replicating Poke's architecture gave my agents a roadmap they could use alongside the Omarchy source to bootstrap things. `Switchboard`, the latest Farfield app, sits as a router layer outside of the Docker stack. Deterministic slash commands go straight to the app they need, and everything else is open-ended and left to the agent. Right now I'm using the Ox Alpha preview on OpenRouter, with a scoped API I can rotate free alpha previews through. Solid performance, rock-bottom prices. That might change down the line, but it's working nicely for now, especially with Claude Code as an invokable process behind the scenes.

No streaming, either. Following Poke and Instinct, tools should feel personal and familiar. Texting Farfield feels more like texting a friend than chatting with an agent, and some `/slash` commands give me easy access to the apps. Posting something to [my feed](https://iammatthias.com/feed) is as simple as sending a text.

![](https://blobs.farfield.systems/blobs/bafkreifhnzl4pl5fry2r56mqwuzsyy2vdzv54yig75uttblfgf25jk3noy)

---

## Related

- [Intern](https://iammatthias.com/posts/1781835006151-intern.md): The Autonomous Intern ships as a Raspberry Pi 5 in a desk-toy case running a stack I didn't pick. I flashed it to Debian Trixie, swapped the whole thing for the Hermes agent with its own built-in memory, and folded it all into one setup script.
- [Farfield](https://iammatthias.com/posts/1779066375000-farfield.md): Five small Go services, single binaries, content-addressed records, running on my homelab. The new backend for the site.
- [On Diffusion](https://iammatthias.com/posts/on-diffusion.md): From early StyleGAN experiments and latent walks to Mercury 2's fast diffusion language model, and a simulation stripped down until its agents begin coining terms of their own.
- [Now Playing](https://iammatthias.com/posts/1784736733544-now-playing.md): Putting my Apple Music "Now Playing" on display with a Raspberry Pi and a 64x64 LED matrix.
- [Post-UI](https://iammatthias.com/posts/1784126858578-post-ui.md): Do we still need to ship a frontend?
- [Phosphene](https://iammatthias.com/art/1781816428977-phosphene.md): A camera that turns each photo into a poem, then paints a new image from those words.
