Home · Builds · Signal home-office bot

Build

The household's finances, in the group chat.

A daily brief at 07:30, a weekly review on Sunday evening, a monthly review on the first, and slash commands for everything in between. Runs on the same VM, writes only to its own schema.

Scratch cut · 1:33 The part 7 scratch cut: the morning brief arriving in a demo group, then /actions and the reply. No real balances on screen; scratch narration.

What it does

How it is built

Signal has no bot API, so the bot runs its own Signal account through signal-cli wrapped in a REST sidecar. The account has its own phone number. After registration no phone is involved. Messages stay end to end encrypted.

The bot connects as a least-privilege bot_app role with a 15-second statement timeout. It writes to its own bot schema and to one completions table, nothing else. A transport layer keeps WhatsApp as a fallback behind one environment variable.

One check row becoming one message in the group.

What it taught me

WhatsApp was the first transport. An adversarial review of the design made Signal the obvious choice: no account-ban risk for automation, end to end encryption by default, and a sidecar that is boring to operate. The review is in the repo.

Operational quirk

Adding the bot's number to a group before it has ever messaged you leaves a pending invite the sidecar cannot accept. Have the bot message you once first, then add it.

Audio · 2 minWhy a chat bot and not another dashboard
Scratch narration Dashboards need a visit; the group chat is already open. Distribution beats features.
All buildsNext build · Local AI brain over MCP

Write to me

I built this for a household. Imagine it pointed at your company.

Fractional CTO and CFO engagements start with a short call. No deck required, no pitch either. Bring the number you do not trust.

Tell me what is stuck