Sigh retweeted
Send Broadcast @sendbroadcast is a really great self-hosted Mailchimp alternative @geetfun has been working on for a few years if you're looking for something. You don't need to waste a week vibecoding your own.
I don't know if it does everything from that insane Beehiv tweet but what you want is a solid foundation, and a single provider to send email so you can build reputation.
sendbroadcast.net/
I saw @daniel_nguyenx's post, applied, went to check my email and I was approved.
In like 2 mins from e2e.
Wow. I applied for Private Cloud Compute access and got approved within 30 minutes.
This is going to be very useful for my AI apps.
You should apply too if you're offering AI functionality in your apps.
Requirements:
- You’re enrolled in the App Store Small Business Program
- None of your apps has more than 2 million first-time downloads on the App Store
I priced out vibe-coding a copy of my own app, from all 3,032 commits:
$3,000 in Opus 5.5 API tokens
or
$200 to $600 on Claude Max
+ your time
Or...
$150 to just buy it (one time price on promo).
Yes, you can now build an inbox in an afternoon.
Congratulations, you are now responsible for:
- Deliverability.
- Bounce management.
- SPF, DKIM, DMARC.
- A domain that slowly drifts into spam.
- Finding out it why the hell it's drifting into spam?!
- Parsing emails from a mail server last updated in 2007
- HTML, plain text, and emails somehow containing neither.
- Outlook’s interpretation of HTML.
- Outlook’s other interpretation of HTML.
- Threading that breaks when someone changes the subject.
- Someone starting a new conversation by replying to an email from 2022.
- Forwards inside forwards inside forwards.
- CC, BCC, reply-all, and someone who really shouldn’t have clicked reply-all.
- Attachments.
- Attachments with malware..
- Inline images that become attachments.
- Attachments that were supposed to be inline images.
- A company logo attached to every reply, forever.
- Quoted replies.
- Distinguishing a quoted reply from the actual reply.
- Someone answering your five questions inside the quoted reply.
- Signatures longer than the conversation.
- The out-of-office that answers your out-of-office.
- Two autoresponders having a productive weekend together.
- Notifications that fire twice.
- Notifications that never fire.
- A reply sent from the notification itself.
- A reply to a notification about an internal note.
- Making absolutely sure that notes stays internal.
- Permissions.
- Two teammates writing the same reply.
- Drafts that sync across devices.
- Drafts that overwrite other drafts across devices.
- A confidently displayed “Saved” that was optimistic.
- Snoozed conversations.
- Time zones (!)
- Daylight saving time (!!)
- A conversation snoozed until a time that technically doesn’t exist.
- One customer showing up as three people across email, chat, and Slack.
- Three different people sharing one email address.
- Merging them.
- Undoing the merge.
- Search.
- Search that finds the thing you can literally see on screen.
- Webhooks arriving twice.
- Webhooks arriving out of order.
- Webhooks not arriving.
- Retrying a failed send without sending the customer six apologies.
- Rate limits you discover during your first traffic spike.
- Training your AI on your product.
- Scraping your website.
- Scraping the pages that need JavaScript.
- Not scraping your entire website footer into every answer.
- PDFs.
- PDFs that are actually pictures of PDFs.
- Keeping the content fresh.
- Knowing when content changed.
- Knowing when content disappeared.
- Making the AI forget the pricing page from last year.
- Conflicting answers across your docs, website, and past replies.
- Deciding which one wins.
- Chunking.
- Embeddings.
- Reindexing everything when you change embedding models.
- Retrieval that finds the answer, not just something with similar words.
- Web search tooling.
- Knowing when to search.
- Prompt injection hiding in a page you just scraped.
- An agent confidently promising a feature you don’t have.
- An agent confidently issuing a refund it shouldn’t.
- Tool permissions.
- Tool timeouts.
- Tool retries that issue the refund twice.
- Knowing when to hand off to a human.
- Actually handing off to a human.
- Not continuing to argue after handing off to a human.
- Evaluating whether any of this works.
- Evaluating it again after a model update.
- Token budgets.
- Context windows.
- A customer pasting an entire novel into the chat.
- WebSockets.
- WebSocket authentication.
- Reconnecting WebSockets.
- Reconnecting 10,000 WebSockets at once after a restart.
- A connection that looks alive but isn’t.
- A phone switching from Wi-Fi to mobile data mid-message.
- Messages that arrive once.
- Messages that arrive in order.
- Messages that arrive.
- Syncing read states.
- Unread badges.
- Typing indicators that stop typing eventually.
- A customer opening your widget in six tabs.
- Anonymous users becoming logged-in users.
- Logged-in users logging out on a shared computer.
- The iPhone keyboard covering the message composer.
- Safari.
- Keyboard navigation.
- A widget that must not slow down the actual product.
- Explaining that “sent” and “delivered” are different things.
- A help center.
- An editor.
- An editor that survives pasting from Google Docs.
- Images.
- Image resizing.
- Broken images.
- Article drafts.
- Autosave.
- Version history.
- Restoring the version before someone deleted half the article.
- Reordering nested categories without losing an afternoon.
- Slugs.
- 301 Redirects when slugs change.
- Internal links that now point nowhere.
- Working out which translations need updating after an edit.
- Search that understands what customers mean.
- Custom domains.
- DNS verification.
- SSL certificates.
- Renewing SSL certificates.
- Someone putting Cloudflare in front of your Cloudflare.
- Mobile layouts.
- Dark mode.
- Code blocks.
- Tables on small screens.
- Sitemaps.
- Canonical URLs.
- Accidentally indexing draft content.
- Accidentally deindexing published content.
- Cache invalidation.
- “I published it. Why does it still show the old version?”
- Making sure your AI sees the new version too.
- Spam.
- Phishing.
- Someone uploading malware as “a screenshot of the issue.”
- Someone pasting their CC details into chat.
- Someone asking you to delete every trace of that CC.
- Logs that also contain the CC.
- Backups that also contain the CC.
- Backups.
- Restoring backups.
- Discovering those are two separate features.
- An expired token.
- A background job that quietly stopped on Thursday.
- “Disk is full.” Sunday. 3 a.m.
- Monitoring all of this.
- Monitoring the monitoring.
Now you have two jobs 🤷♂️
Full blog post at sendbroadcast.net/blog/what-…
This is true.
Tried to give a friend a Claude Code subscription.
No interest whatsoever.
This is my thesis: no one uses AI. I repeat, absolutely no one. We live in a bubble.
Even among my friends who pay for it, when I ask them to open ChatGPT and show me their queries, it’s the same handful of basic things.
Most don’t even know they can upload a photo and ask questions about it. Connecting Gmail so an agent can read and send emails blows their minds. An agent opening a browser and checking them into a flight? They’ve never even heard of it.
The massive challenge right now is adoption, and then getting people who already signed up to actually use what they’re paying for. Most have absolutely zero clue what’s possible.
Imagine the compute shortage when everyone starts using AI like the top 1% of users do today.








