Msglet Join the waitlist

Sends 300 personal texts. While you make coffee.

Msglet is a Mac app that drives Messages.app to send personalised SMS through the iPhone in your pocket. From your number. Through your carrier plan. With each recipient's name in each message. No cloud, no account, no per-message fee. Pause, close the lid, walk away — it resumes where it stopped.

macOS 12+ iPhone required One-time licence

02

The three things that make this different.

Everyone else either charges per message, hides your identity behind a shortcode, or makes you tap Send three hundred times. Msglet does none of those.

  1. i

    Sends while you sleep.

    Drop your CSV, write your message, click Send, and walk away. Msglet paces the queue, drives Messages.app for you, and works through three hundred names while you do anything else. The closest competitor — Hit Em Up on iOS, at $199.99 a year — still makes you tap Send on every single message.

  2. ii

    Resumes after a crash.

    Every send writes to a local SQLite database the instant your iPhone acknowledges it. Force-quit, sleep, kernel panic, power cut — reopen the app, click Resume, and it picks up exactly where it stopped. Already-sent contacts are skipped automatically. Nothing is ever sent twice.

  3. iii

    Your contacts never leave your Mac.

    There is no server. No cloud upload. No account. No telemetry. The CSV sits in memory; the campaign history lives in a SQLite file you can open with any database browser. We could not see your customer list if we tried — there is nowhere for it to go.


03

How it works.

Three steps. The whole thing fits on one screen. No onboarding tour.

  1. 1.

    Drop your CSV.

    Any CSV with a name column and a phone column. Msglet auto-detects common headers in English and Greek (First Name, Όνομα, Phone, Τηλέφωνο, dozens more), normalises numbers to E.164, and flags bad rows in red with a specific reason. The list stays loaded across app restarts.

    # clients.csv
    first_name,last_name,phone
    Μαρία,Παπαδοπούλου,6944014122
    Δημήτρης,Νικολάου,6977018160
    Γιώτα,Καραγιάννη,6981090933
  2. 2.

    Write one personal message.

    Type once, with {first_name} for the variables. Live preview shows you exactly what each recipient will receive — Greek characters, emoji, line breaks, everything. The segment counter switches between GSM-7 and UCS-2 the moment you type a Greek letter, so you know what every SMS will cost before you send.

    "Γεια σου {first_name}, σου θυμίζω το ραντεβού σου την
    Πέμπτη στις 16:00. Πέτρος."
    
    → 132 / 70 chars · UCS-2 · 2 segments per recipient
  3. 3.

    Click Send. Walk away.

    Msglet paces the queue, calls Messages.app for each row, lets Apple pick iMessage or SMS per recipient, and logs the result. You can pause, cancel, or edit the template mid-flight (only pending rows get the new text; already-sent messages are never rewritten). Failed sends surface the actual error and retry with one click.

     312 recipients · 10 s pacing
     est. 52 min · finish 14:54
     route: Auto (iMessage where possible, SMS fallback)

04

Built for people who actually have to do this work.

The features below come from real users running real multi-week campaigns. Each one closes a hole the obvious tool has.

Follow-up rounds.

Send the invitation, wait two days, write back to the people who replied yes — never to the ones who replied stop. Msglet keeps the whole conversation as one campaign with multiple rounds: status-aware pre-checking, bulk Block selected forever, undo, reopen from history, separate template per round. Nobody else does this.

Permanent block list.

Cross-campaign, cross-CSV, cross-everything. A blocked number cannot receive any message Msglet ever sends again. Unblock from Settings; state flips back the instant you do.

Already-messaged badges.

Anyone who received a message inside the configurable cool-down window (7 / 30 / 90 / 365 days, or forever) is greyed out and locked by default. Override with one click, or change the window globally.

Inline editing & Greek search.

Fix a typo in a name or a phone number without leaving the table. Search is diacritic-insensitive — type γιοτα and you'll find Γιώτα, Γιότα, ΓΙΏΤΑ. Sounds small. Saves an hour.

Smart CSV merge.

Drop next month's list and Msglet asks: "this looks like an updated version — merge new entries, or treat as fresh?" Your selections, edits, and exclusions for everyone in both lists survive intact.

Three routing modes.

Auto — iMessage first, SMS fallback per Apple's rules. SMS only — force cellular delivery to dodge silent iMessage failures. iMessage only — fail fast on Android recipients instead of guessing.

Multi-week workflow, persisted.

Pick a hundred names this week, send to thirty, pause. Close the laptop. Open it again next Tuesday. Everything is exactly where you left it — the same selection, the same template draft, the same recipients still queued, the same ones already sent, the same blocked numbers honoured. Msglet assumes you are running a campaign over weeks, not minutes. Every other tool assumes the opposite.

Mid-campaign template edit.

Forgot to sign your name? Pause, fix the template, click Apply to pending. Only the rows that haven't been sent yet pick up the new text. Already-sent messages are never rewritten.


05

Privacy is not a feature.
It is the architecture.

There is no server.

Msglet is a local Mac app. It does not have a backend because it does not need one. There is no API to hit, no database to query, no dashboard to log into. The product runs entirely on your machine and talks to exactly one other thing: the iPhone paired to your Apple ID, via Apple's own Continuity SMS bridge.

Your data lives in your files.

Contacts (CSV-imported or pulled from Apple Contacts with your permission), campaigns, sent timestamps, error reasons — all of it sits in SQLite databases under ~/Library/Application Support/sms-blast/. Keep one big list, or split into separate databases per use case so your clients, donors, and event invitees never mix. Open them with any SQLite browser. Move them. Back them up. Delete them. They are your files.

Zero outbound network requests.

In normal operation Msglet makes no network calls. No analytics beacon. No telemetry ping. No update check that includes your identifiers. Block it at the firewall and it still works exactly the same.

Your number is the sender ID.

The recipient sees a message from you, on the number they already have for you, in the same thread as the last time you texted them. They can reply, and the reply lands in Messages.app like any other text. There is no shortcode, no alpha sender, no rented number, no NOREPLY.


06

What Msglet is not.

Stated up front, not buried in the fine print. If any of these are what you need, Msglet is the wrong tool.


07

Frequently asked.

Do I need an iPhone?

Yes. Msglet drives Messages.app on your Mac, and Messages.app sends SMS through your iPhone via Apple's Continuity SMS forwarding. Without an iPhone signed into the same Apple ID, the SMS route doesn't exist.

Will my carrier let me send 300 SMS?

Probably yes, if your plan includes a few hundred SMS per month, which most consumer and business plans do. Msglet's default 10-second pacing is tuned to stay well under typical carrier anti-spam thresholds. For very large lists (1000+), split into two or three batches across days.

Does Msglet read my Apple Contacts?

Only if you grant macOS permission. You can pull contacts straight from Apple Contacts, drop in a CSV, or both — whichever you prefer. Either way the list lives in Msglet's own local SQLite database; it isn't synced anywhere, and it isn't sent to us. You can revoke the Apple Contacts permission from System Settings at any time.

Can I keep separate lists for different uses?

Yes. Create as many separate databases as you need — one for salon clients, one for event invitees, one for your tutoring students — and switch between them with one click. They live as separate SQLite files in ~/Library/Application Support/sms-blast/, never share contacts, never share block lists. Useful when you want to keep audiences and tone cleanly apart.

What happens if my Mac crashes mid-send?

Every successful send is persisted to disk the instant the iPhone acknowledges it. Already-sent rows stay sent. Pending rows stay pending. Reopen the app; click Resume; the campaign picks up exactly where it stopped.

Can I send to non-iPhone users?

Yes. The Auto routing mode sends iMessage where possible and falls back to SMS for everyone else automatically. There's also an explicit SMS-only mode for when you want guaranteed cellular delivery.

Can I edit my message after sending starts?

Yes. Pause the campaign, edit the template, click "Apply to pending". Only the rows that haven't been sent yet pick up the new text. Already-sent messages are never rewritten.

What languages are supported?

Anything Unicode can encode — English, Greek (first-class), Cyrillic, Arabic, Chinese, emoji, mixed scripts. The segment counter switches between GSM-7 (160 chars/segment) and UCS-2 (70 chars/segment) automatically, so you always see the real cost before sending.

How is this different from Hit Em Up?

Hit Em Up is iOS-only, charges $199.99 a year, makes you tap Send on every message, and stores your contacts in their cloud. Msglet runs on your Mac, sends unattended, costs one-time, and your data never leaves the machine.

Is Msglet legal for marketing texts?

The same rules that apply to a text you send by hand apply to one Msglet sends. TCPA in the US, GDPR and ePrivacy in the EU, and equivalents elsewhere — you need consent. Msglet is for messages the recipient is expecting and welcome to receive.

Can I get my data back if I uninstall?

Your CSVs are yours — we never touched the original files. Your campaign history lives in SQLite files in ~/Library/Application Support/sms-blast/, one per database you've created. Open them, move them, archive them, delete them. Standard open format.


08

Found a bug?
Got an idea you can't shake?

Hi — it's Petros. I made this. The inbox is small and a person (me) reads every message. If something's broken, or you've thought of something Msglet should do, write. You'll hear back within a day or two — promise.

Or just write to hello@msglet.app — same inbox, same person.


09

Pricing.

Coming soon. One-time licence. No per-message fees. No subscription. We are finalising the tiers — the waitlist gets early-access pricing and the founder's-edition price.

Hit Em Up costs $199.99 every year. Twilio adds up to €240–600 a year for a small business. TextMagic and EZ Texting are similar. Msglet is one payment. Ever.


10

Get the early-access price.

Drop your email. We'll write once — when the licence pricing is set and the first build is ready to ship.

One email. No newsletter. No tracking pixel. You can ask us to delete you at any time at hello@msglet.app.