Skip to main content
Build LogUncategorized

Pulso got a ceiling, an outbox and a delete button

By August 7, 2026No Comments

Pulso now runs under a global monthly AI spend ceiling of $50, sends its own transactional email through Resend, and lets anyone delete their account and everything in it without asking me. Those were the three things that had to exist before I invited a single person off the waitlist.

The ceiling is the one I care about. Credits already bounded what one person could spend, but nothing bounded the total, so a hundred signups on a good week would have been a bill rather than a milestone. The gate sits in front of the enrich and suggest endpoints, warns at 80%, caches for 60 seconds, and fails open on a read error, because a broken meter should not take the app down with it. Free imports came down from 250 watches to 50 in the same change, roughly $2.25 of research per person at worst, and the "however many you have" line came out of the copy, since a promise you have just capped is a lie.

Email was the quieter risk. Supabase’s built-in SMTP is development grade and would have silently failed to deliver most of a batch of invites, which I would have found out about by nobody turning up. It now sends as pulso@yeison.co.uk with DKIM on a send subdomain, root MX untouched, at 30 an hour.

Deleting an account takes two confirmations, your own email and the word delete. It removes uploads first so nothing is orphaned in storage, then the auth user, so every table cascades behind it.

Also over the last two days: TestFlight taught me that a version number pinned below one already uploaded gets buried silently under the higher build rather than rejected, which is a worse failure than an error; researched watch images now prefer Google’s transparent-background filter, after a Seiko Presage came back as a photograph of a man in a suit; and shortlist adds save server side, so closing the tab mid-lookup no longer throws away research you have already paid for.

Leave a Reply