MailPals

Software

MailPals

Group newsletter over iMessage.

All Projects

Group chats are noisy. MailPals turns one into a weekly ritual. A bot privately DMs each member with a handful of prompts — one at a time, like a conversation — and members respond however they want: text, voice notes, photos. At the end of the week, every response is compiled and delivered back to the group as a single newsletter issue. Delivered issues spark reply threads where members react to each other's answers — the newsletter becomes the conversation starter.

This is a mobile-native spinoff of the open source MailPals project, which I contribute to. The original sends prompts via email and collects responses through a web form. This version moves the entire experience into iMessage — no app to download, no links to click. The chat is the product.

66%
Overwhelmed
felt overwhelmed by group chat volume
Secure Data Recovery, 2023
75%
On Mute
have muted an annoying group thread
Secure Data Recovery, 2023
30%
Invisible
share something and nobody responds
Secure Data Recovery, 2023
42%
Unpaid Admin
say group messaging feels like a part-time job
Secure Data Recovery, 2023

The Interview

Each week, the bot sends 3 randomly selected prompts to each member via private DM. The conversation is linear — answer one prompt, get the next. Voice notes are accepted and transcribed automatically. After answering all three, any additional messages become bonus content in the issue.

B
DM with Bot
Issue #4

Animated — the bot interviews each member one prompt at a time

Issue Delivery

At delivery time, responses are compiled by prompt and sent to the group chat. The issue lands as a stream of bot messages — members reply directly to spark conversation threads.

M
J
P
C
E
MailPals Beta
5 people
MailPals Bot
mailpals #3 — everyone came through this week
1/3: What's something you changed your mind about recently?
Max: I always thought buying organic was a scam but after reading about pesticide residue testing I completely flipped.
Jules: That you need to “find your passion.” Turns out passion follows competence.
Priya: Cold plunges. I was a skeptic but three weeks in and I’m annoyingly into it.
Cam: That audiobooks don’t count as reading. They absolutely do.
2/3: What song is 10/10 in your book?
Jules: Hiatus Kaiyote — Molasses. The bass line alone is worth the listen.
Max: Joni Mitchell — A Case of You.
Priya: Nai Palm — Homebody. Play it on a Sunday morning, trust me.
Cam:
Emi:
3/3: Share a photo of something that made you smile this week.
Max:
Priya:
B
Jules:
Priya: Cold plunges. I was a skeptic but three weeks in and I’m annoyingly into it.
2 Replies
Jules
J
wait you do cold plunges?? can I come try
Priya
P
yes!! come over saturday
Cam: That audiobooks don’t count as reading. They absolutely do.
2 Replies
Max
M
audiobooks 100% count, I’ll die on this hill
Cam
C
THIS. say it louder

The compiled issue as it appears in the group chat

Prompt Pool

102 seed prompts across 9 categories — from introspective to absurd. Three are randomly selected each week, and the bot never repeats a prompt back-to-back. Members can also submit their own.

100+ prompts across 9 categories — randomly selected each week
🪞reflection
What's something you changed your mind about recently?
🎲fun
What's the most useless talent you have?
📼memory
What embarrassing memory will forever be seared in your memory?
🎨creative
Design your perfect day, hour by hour.
📸photo
Share a photo of something that made you smile this week.
🤝connection
Who outside this group would you add?
recommendation
What song is 10/10 but no one has heard of it?
🙏gratitude
Name someone who changed your trajectory.
🏔challenge
What's a goal you've made progress on lately?

Sample prompts rotate automatically across categories

Weekly Lifecycle

Every issue follows a fully automated four-stage cycle. The group admin sets the schedule once — prompt day, delivery day, timezone — and the bot handles the rest, including creating the next issue after each delivery.

Open
Bot DMs each member with 3 random prompts, one at a time
Remind
48h before: public reminder to group. 24h before: private nudge to non-responders
Compile
Responses grouped by prompt, voice notes transcribed, photos collected
Deliver
Compiled issue sent to group chat. Next issue auto-created.

Built With

A mobile-native spinoff of the open source MailPals project. Python backend with FastAPI and async SQLAlchemy. iMessage integration via BlueBubbles bridge running on a Mac. Voice notes transcribed with OpenAI Whisper. Real-time test UI over WebSocket for multi-user simulation across browser tabs.

PythonFastAPISQLAlchemyWebSocketBlueBubblesAPSchedulerWhisperiMessage