Skip to main content

Widgets were the one part of Vela iOS I designed before I built, on purpose. I laid out 13 widget concepts first, including a bills-runway view and a payday countdown, as mockups I could react to before any Swift got written, and nine of those thirteen made it into the app as real, native widgets: safe-to-spend (with a lock-screen version), bills runway, payday countdown, a needs-funding view, and running balances.

The harder part wasn’t the widget UI, it was what data a widget is allowed to see. Widgets run in their own process, separate from the app, and I did not want them anywhere near live credentials or a network call. So everything routes through a shared snapshot: the main app writes a summary to shared storage, the widget only ever reads that snapshot, never talks to Monzo or the server directly. That snapshot grew over the week, from a bare balance figure to buckets, 7-day spend, category breakdowns and funding shortfall, so a widget sitting on your home screen tells you more without ever holding more risk.

Also this week: the rest of the app caught up visually. Activity rows got rebuilt to match the web app’s category tiles, account and time metadata and review chip, instead of drifting into stock iOS styling, and iOS Settings gained notification preferences, quiet hours, export and an About screen, the unglamorous stuff that makes an app feel finished rather than merely functional.

Nine widgets is a real number, not a nice round one I picked for the post. It’s what survived contact with does this actually help at a glance, which four of the original thirteen designs didn’t.

Leave a Reply