A Dictation App with a CLI Is Exactly What I Needed

Monologue for iOS.

Monologue for iOS.

As I mentioned in a recent issue of MacStories Weekly for Club members, I believe that reliable dictation and text-to-speech are largely solved problems in the AI industry right now for most languages. There are certainly subtle differences between the latest models and not-so-subtle discrepancies when you consider local (and free) transcription models versus cloud-hosted (and often expensive) solutions, but by and large, LLMs have “fixed” the problem of fast and high-performance speech-to-text transcription. Whether you’re using Superwhisper, Wispr Flow, Aqua Voice, or a local wrapper for Parakeet or Microsoft’s VibeVoice, chances are that your transcribed text will be more than good enough these days. Just like with regular chatbots, benchmarks matter less and less: it’s the overall user experience that defines products that are otherwise very similar to each other.

Read more


Spark Mail Adds a Mac CLI and Agent Skills

About two weeks ago, Spark, the email app by Readdle, was updated with a CLI and a set of agentic skills for Claude Code, Codex, and other agents, allowing them read-only access to messages, calendar events, contacts, and meeting notes. These features were extended again a few days ago with new abilities that added email triage actions and more skills. The approach is clever in its local architecture, which keeps your message data on your Mac while making it available to agents.

CLIs are one of this year’s top app trends, with a wide variety of productivity apps adding them. The reason is simple: agents that work in the Terminal like Claude Code and Codex can use local CLIs, which keeps token usage down because the agent only sees a command’s text output instead of carrying tool schemas with it the way MCP servers do.

Spark works with several agents.

Spark works with several agents.

Spark isn’t the first to create an email CLI. The Google-created, but “not an official product,” googleworkspace CLI interfaces with Gmail and a bunch of other Google services, offering over 100 skills. The difference is that a CLI like googleworkspace contacts Google’s Gmail servers and acts on your messages in the cloud, whereas Spark’s CLI acts as a remote control for the Spark app itself, managing the messages locally on your Mac and then syncing them back to Gmail via the desktop app.

I’ve worked with both the googleworkspace CLI and Spark’s, and Spark’s is by far the easier one to use because you don’t need to set up a Google Cloud project or deal with OAuth. The only drawback is that the Spark app needs to be open for its CLI to work because everything happens on your Mac. However, as a practical matter, that’s not a limitation that has impacted me since my email app is open when I’d want to use Spark’s CLI or skills anyway.

Read-only actions are available for all users. Triage actions require a Pro subscription.

Read-only actions are available for all users. Triage actions require a Pro subscription.

There are two levels to what Spark offers. The read-only CLI and skills are available to all users, whether or not they subscribe to Spark Pro. Those actions include the ability to search and summarize messages, fetch context, read threads, and view your calendar, contacts, and meeting notes. A Pro subscription adds message drafting, replying, snoozing, pinning, labeling, moving, and archiving, along with team commenting. It’s an excellent set of actions that uses syntax similar to Gmail, which means it should be familiar to many long-time Gmail users straight out of the box.

And there’s more. Readdle has also released a set of recipes and personas, which are open-source skills. The recipes include instructions for morning and end-of-day email reviews, reviewing of new senders, catching up on messages after vacation, and more. Personas are more holistic approaches to your inbox that apply to an entire email session and have modes. For example, the Founder persona has Rapid Triage, Aggressive Delegation, and Cross-Team Oversight modes. Other personas include Executive Assistant, Freelancer, and Team Lead. Full details of every recipe and persona are available on Readdle’s GitHub page.

Searching email via the command line.

Searching email via the command line.

I’ve spent time using the read-only actions of Spark’s CLI with Claude Code, and it’s an excellent option for automating your email. Setup is simple and fast, and it works well. I’m not sure personas are for me, but there are a bunch of interesting ideas among the recipes, which I intend to explore more and use to create my own skills.

Spark Mail is available as a free download on the Mac App Store. The CLI’s triage actions are exclusive to users who subscribe to Spark Pro, which costs $20/month or $200/year.


iOS 26.5 Adds RCS Encryption in Beta Starting Today

Source: Apple.

Source: Apple.

Apple announced that beginning today, users on iOS 26.5 will be able to send encrypted RCS messages to Google Messages users who are on the latest version of that app. Apple says that means a message that is intercepted in transit is unreadable. You’ll be able to tell if your messages are encrypted by a lock icon at the top of the screen.

RCS encryption is turned on by default and supported by carriers around the world. I spent some time scrolling through the list of carriers that support RCS encryption, and it’s extensive. You can check if your carrier is on the list at the link above.


Podcast Rewind: Codex, GameHub, a Mouse Lament, a Peacock Invasion, and an Interview with Niléane Dorffer

Enjoy the latest episodes from MacStories’ family of podcasts:

AppStories

This week on AppStories, John shares a tip for moving files with Taildrop before he and Federico dig into Codex and its unique capabilities.

On AppStories+, Federico and John have both returned to Apple Reminders and discuss why and how they’re using it.

NPC: Next Portable Console

This week on Next Portable Console, we finally have RG Rotate specs and prices, get excited for the Steam Controller, update listeners on the latest grips available for the Switch 2, and cover the GameHub for Mac beta.

On NPC XL, we revisit GameNative, and Federico turns his Legion Go 2 into a SteamOS device.

First, Last, Everything

Jonathan is joined by Niléane Dorffer, a French-Réunionnese podcaster, writer, and activist, known for being the co-host of Comfort Zone, her writing at MacStories, and her advocacy for trans rights.

Comfort Zone

With Chris out getting a puppy, Matt and Niléane hold down the fort, celebrating an app and lamenting a mouse. Then, everyone pretends to be someone else for fun.

On Cozy Zone, the gang compares their Mac Docks, and you won’t believe it, monsters were revealed!

MacStories Unwind

This week, Federico wins the wild kingdom award, John is defending against vultures and has a creepy new show to recommend, and Federico closes with a TV check-in.

Read more



Spotify CLI Turns Personalized Audio into a Podcast Feed

Spotify introduced a new feature called Personal Podcasts today that’s really clever. It’s a CLI, a set of agent skills, and a Claude plugin available from GitHub that, once installed, lets users prompt AI agents to create personalized audio that can be listened to like a podcast.

Here’s how Spotify explains the feature:

People are already starting to use their agents to create personal audio that guides their day: from summaries of class notes before an exam to briefings of what’s on their calendar. And they’re asking for a way to listen to it on Spotify, where they already listen to everything else.

Now, we’re making it possible to save and play Personal Podcasts on Spotify. Your agent can generate a daily briefing, private to you, and it’s saved alongside everything else in Your Library. And as always with Spotify, it’s seamlessly integrated across the devices you use.

This is a lot like a tool I built for myself that lives on a Mac mini server and generates a podcast feed from articles I save. I’ve enjoyed the experience so much that I plan to expand my server setup to handle exactly the sort of daily briefings Spotify envisions. What’s great about Spotify’s solution is that it eliminates the sort of tinkering I went through to build a suite of tools on a personal server. Yes, you still need to install a command-line tool, but with an AI agent to help, that’s simple.

I’m actually surprised that no indie developer of a podcast app has built a CLI for side-loading audio yet. The closest thing I’ve found is a Python CLI that automates the web-based uploading of audio to Overcast for premium subscribers. That’s an okay solution, but it’s unofficial, which means changes to the Overcast website could break it. Hopefully we’ll see something like this from more than just Spotify soon.

Permalink

A Look at Apple’s 2026 Swift Student Challenge Winners

Source: Apple.

Source: Apple.

Earlier today, Apple profiled the accomplishments of Swift Student Challenge winners. The 350 students who built the winning app playgrounds come from 37 countries and were chosen from the largest pool of participants ever. Susan Prescott, Apple’s vice president of Worldwide Developer Relations said of the competition’s entries:

The breadth of creativity we see in the Swift Student Challenge never ceases to amaze us. This year’s winners found remarkable ways to harness the power of Apple platforms, Swift, and AI tools to build app playgrounds that are as technically impressive as they are meaningful. We’re incredibly proud to support their journey and can’t wait to see what they create next.

Of the 350 winners, 50 have been invited to attend WWDC, which kicks off next month.

Apple’s press release spotlights four winners who built app playgrounds. Among those profiled is Gayatri Goundadkar, who built an app called Steady Hands that uses the Apple Pencil’s stabilization technology so people with hand tremors can draw more easily. As Goundadkar says:

When a person draws, my app uses Apple’s PencilKit and Accelerate frameworks to analyze stroke data and recognize tremors. It detects what is intentional and what is not, and removes the tremor component. Every drawing is then displayed in a personal 3D museum, because I wanted them to feel like artists, not patients. When users saw the stabilization working, they felt more confident.

Another winner, Karen-Happuch Peprah Henneh, was inspired by floods in her home country of Ghana to build a real-time pathfinding app called Asuo to help people in flood-prone areas to stay out of harm’s way.

Sign & Say by Courey Jimenez (left) and NodeLab by Aayush Mehrotra (right).

Sign & Say by Courey Jimenez (left) and NodeLab by Aayush Mehrotra (right).

Earlier today, I had a chance to talk to Susan Prescott and two student winners: Courey Jimenez and Aayush Mehrotra. Jimenez drew on her experience working with nonverbal children as a behavioral technician to create an app that combines American Sign Language and Picture Exchange Communication Systems. As Jimenez explained to me:

When you can’t speak your needs, it’s a frustrating thing. So I knew I wanted to build something that was very user friendly and appealing to help mitigate that stress.

Mehrotra, who is just 14, built an app that allows students to explore the complexities of neural networks in a visual and interactive way. He was driven to build something friendly and approachable for students like himself who are interested in machine learning, too.

Every year I’m struck by the creativity of the students who participate in the Swift Student Challenge. Their inspiration is drawn from personal, family, and community experiences and their own passions. And, while their projects vary widely, they all have one thing in common: the excitement of building something and sharing it with others. It’s the same infectious enthusiasm we see over and over in the developers whose apps we cover, which propels the app world forward. Like the students I spoke to today, I can’t wait for WWDC.