Soft Send: Delay & Undo Send for Gmail - Hold Gmail messages in a local queue for configurable delay

by
Gmail gives you up to 30 seconds to regret a send. Soft Send gives you real breathing room: delay emails from 1 minute to 1 hour, then cancel, pause, or edit before they leave. It also catches mistakes Gmail won’t: missing attachments, first-time recipients, risky Reply-Alls, sensitive info, and rushed drafts. It’s still private: no server, no tracking. Your email stays local until Soft Send sends it through Gmail’s API.

Add a comment

Replies

Best
Hunter
📌
I built Soft Send because Gmail’s Undo Send always felt like a band-aid: useful, but too short and too passive. The real problem is not just “I need 30 seconds to undo.” It’s that email mistakes usually become obvious a few minutes later: wrong tone, missing attachment, accidental Reply-All, sensitive info, or a recipient you didn’t mean to include. Soft Send turns sending into a short safety window. It gives you time to cancel, pause, or edit, and it adds warnings when an email looks risky. I wanted email to feel less irreversible without sending drafts through another server or sacrificing privacy.

Does delaying through the Gmail API mean the email actually queues on your local device, so if I close my laptop before the timer hits the email just sits there unsent until I open it again?

 hi, yes, the timer is local and sending happens while Chrome is running, so quitting the browser before the timer delays the send. But it's never lost: the email is saved as a real Gmail draft the moment you queue it, and it sends on reopen (or you send it from Drafts). That's the tradeoff for having no server, your email never leaves your device except to reach Gmail's API. For typical short delays with the browser open, it's a non-issue.

  also, in the next update I'm adding a notification so there's zero ambiguity: if the browser was closed past an email's send time, Soft Send will send it the moment you reopen Chrome and show a little "Sent 1 queued email that was waiting" message. So even in that edge case you'll always know exactly what went out and when.

the missing attachment check actually caught me before i shipped an embarrassing email, which alone is worth it. love that nothing sits on someone else's server

 thank you for the support!

Genuinely useful, the attachment and reply-all catches saved me already. Local-only setup felt solid too.

thank you! this is the real use case why I built it! also, keeping it local was non-negotiable for an email tool.

If you got a minute, a quick review on the Chrome Web Store would really help :)

how does it actually catch the risky reply-all stuff, like is it keyword matching or something smarter? curious how many false positives i might hit

 It's heuristics, not ML, all local. Reply-all is approximated as "subject starts with Re: and >10 recipients" (it can't read the reply-all action directly, so recipient count is the proxy). So you will get some false positives, but they're cheap: it only adds delay + a warning, never blocks you, and each signal is individually toggleable. Deliberately transparent rather than a black box.