I’ve been working on a new project called TerminalWidget, and I’m excited to tell you about it. It’s built for people who live on the command line and want useful output visible at a glance instead of buried in a terminal tab.
I gave up trying to find a tool that did what seemed like it should be a
simple thing: take things like progress reports, status indicators, and
generated images and display them in macOS and iOS widgets. There are a
couple of options out there, but they’re of limited flexibility and all
suffer from huge lags in update times. So I built my own. TerminalWidget
gives you a wide array of visualization options for status reports,
chart data, progress indicators, and images, and it syncs across macOS
and iOS with rapid updates (1s on macOS, under 30s when mirrored to iOS).
TerminalWidget lets you push terminal output into widgets on macOS, iPhone, and iPad. It can be status text, bigger dashboard-style readouts with icons and text, charts, progress bars, or even images.
It’s about pulling the important stuff out of Terminal scripts and putting it somewhere visible all day.
Visualizations in one place
One of my goals was flexibility. Different jobs need different visuals:
text and text+icon widgets for status messages
progress formats for long-running tasks
chart styles for quick trend checks
image modes for camera snapshots, generated images, or API-delivered graphics
There are a bunch of visualization styles available now, and I keep adding more. The easiest way to get a feel for all of them is in the widget gallery.
Data visualization: metrics from scripts, API responses, or local logs
Image display: local files or remote URL/API image sources
That means one workflow can mix ops-style monitoring, personal automation, and visual status boards.
CLI + URL scheme = automation friendly
The CLI is the main interface, and it’s meant to be scriptable from day one. If you want to integrate with shell scripts, cron/launchd, CI jobs, Shortcuts, or app automations, this is where it shines.
There’s also a URL scheme you can call from anywhere on supported platforms, so updates can be triggered without opening the app directly. Combined with iCloud sync, one update can propagate across devices.
iCloud sync across iPhone and iPad
Another big piece was cross-device behavior. TerminalWidget syncs widget payloads across iPhone and iPad using iCloud, so the same setup doesn’t have to be rebuilt manually on each device.
Updates sent on macOS mirror to your phone, and if you trigger updates via URL scheme on iOS/iPadOS, your widgets update on your Mac.
Distribution and pricing
TerminalWidget will be sold as a universal purchase for Mac and iOS, available only through the App Store, priced at $9.99.
One purchase, all supported platforms.
A niche project (and why I made it anyway)
This is definitely a more specialized app than some of the more successful apps out there. The audience is smaller, no question. But it solves a real problem for terminal-heavy workflows, and I’m really happy with how it turned out.
Even if it’s niche, I think enough people are going to find it genuinely useful to make it worth building.
If that sounds like your kind of tool, start with the video at terminalwidget.app, then explore widgets and CLI docs. Sign up for the newsletter on the site and get updates on development and release.
As far as release schedule, I have to get Marked 3 out the door this week, then focus on porting some libraries from Marked to nvUltra to get that published (finally). Then TerminalWidget. So not immediately, but everything is happening fast right now.
If you’ve been tracking BlogBook at all, testing is going well on that but I haven’t had time to get to a couple of important bugs. I was hoping to have that out alongside Marked 3 (since its exports work really well with Marked’s export functions), but I think it’s going to be a little delayed. Stay tuned!