Module

Support

A support inbox that lands mail — and your signed-in users' own reports — in your own D1, classifies both on your own Workers AI binding, and links each sender to the account and purchases your app already knows about.

@pithy-sh/support

terminal
pithy add support
Read the docs Source on GitHub

What it is for

An inbox that already knows who is writing to you — what they bought, when they signed up, what their last session did. Signed-in users' own reports land in the same place as mail.

What it sits on

D1, R2, your own Workers AI binding and inbound Email.

Mail lands in your D1. Attachments go to your R2. Classification runs on your AI binding. Each sender is linked to the account and purchases your app already knows about.

  • D1
  • R2
  • Workers AI
  • Email

The honest bit

Support is the employee a solo developer cannot hire.

Every piece needed to build one was already in the catalog — inbound mail, R2, identity, payments, audit — and nothing composed them. This does.

You own the mail, the database, the bucket and the inference. There is nothing here a hosted dashboard unlocks: every route is reachable with a credential you issued, whatever anyone pays.

If you build it yourself

An inbox is easy. An inbox that knows the customer is not.

Receiving mail is a route. Everything that makes it useful is the build.

Parsing real email

MIME, attachments, quoted replies, threading, and the fact that no two clients agree on any of it.

Linking sender to account

The address that wrote in is rarely the one on the account, and answering without that link wastes both people's time.

Classification

Routing and prioritizing without a human reading everything first.

Attachments

Stored somewhere durable, scanned, and not in your database.

Reply threading

A response that lands in the same conversation rather than starting a new one.

Every piece this needs was already in the kit — inbound mail, R2, identity, payments, audit. Nothing composed them, which is why this exists.

terminal
pithy add support

In the dashboard

Administer it from a browser, without building the screen.

The inbox, its classifications, and the account behind each sender.

The dashboard is the admin interface for your own application: whatever this capability writes, your team can look up, check and act on from a browser. Reading is free, forever, with no time limit. Connect the project when you deploy.

Designed, not shipped

What is coming to this capability.

Written down, argued out, and not built yet. Each one links to the issue it is being designed in, so you can read the reasoning or disagree with it.

Add it, and get on with the feature.

One command installs the package, wires its bindings into every environment your project declares, and runs its migrations.