Journal

The work,
as it happens.

Notes from building Task(ed), AisleWise, and EveryPaw — what shipped, what broke, and what it taught. Written from each app's log as the work lands.

September 2026

Task(ed)

A familiar home for your tasks

Task(ed) now uses native lists and forms across its main screens. Quick Find keeps the same filters when you open a section, and tapping a Calendar date selects that day.

The smaller fixes matter too: selecting all seven weekdays keeps a daily recurrence, inline subtasks join their parent’s list, and saving an unrelated edit no longer adds a priority.

AisleWise

The list comes first

The redesign puts the shopping list first, with native navigation and your device’s light or dark appearance. Repeated entry, multiline paste, favorites, and bulk reuse reduce the work of making the next list.

Each store can have its own aisle order. Unavailable items stay distinct from purchases. Finish a trip with a manual total or a receipt, then review matches before updating an existing trip so spending is not counted twice.

EveryPaw

Care beyond the app

EveryPaw v2.5 adds a medication Live Activity on iOS 26 and later. It shows the next dose shortly before it is due and lets you log it from the Lock Screen or Dynamic Island.

A new Activity Log widget shows today’s activity and opens the pet’s Activity list. Spotlight results now open the selected care record.

August 2026

EveryPaw

A warmer welcome, faster logging

EveryPaw now opens with a short logo reveal on a cold launch — the cat-and-dog heart mark draws in over about two seconds, matching whatever appearance the device is already in, and skips straight to the finished mark under Reduce Motion. More useful: you can now log an activity by asking Siri or building it into a Shortcut — "log a walk in EveryPaw" records a walk, play, or training session against a pet without opening the app, with duration and notes left for a custom shortcut to fill in.

Daily Goals got quieter too. Adding a Feed, Medication, Walk, or Play goal used to always suggest the same starting number; it now looks at how often you've actually logged that kind of care over the past two weeks and suggests a target from that instead — still fully editable, and pets without enough history keep the old defaults.

Buried in the fix list: a v1.7 migration bug could split one medication's dose history across two duplicate records sharing the same reminder series. It now keeps one per series, as it always should have.

AisleWise

In-Store Mode

Starting a trip from the List tab now opens a full-screen aisle mode — store name, picked count, a cart estimate, and everything you haven't grabbed yet grouped by aisle with large tap targets. Search still works and covers picked items too, so you can check whether you already grabbed something without leaving the mode. The screen stays awake the whole time, and finishing offers to scan your receipt against the store you just shopped.

The cart estimate is deliberately a different number from the list total — one is the whole plan, the other is what's actually in the cart — and it goes quiet rather than guessing when nothing priced has been picked yet.

AisleWise also opens with a short launch animation now (a cart mark drawing itself in, 1.75 seconds, skipped under Reduce Motion), and a second comma-decimal bug is fixed: typing a price with a comma on a Spanish, French, Italian, or Portuguese keyboard no longer silently multiplies it by 100 before it's saved.

EveryPaw

Care Today gets a Siri card

Asking Siri "what's due in EveryPaw" — or "Care Today for [pet]" — now opens an interactive card of overdue and due-today reminders instead of just opening the app. It holds up to five items with a Show Reminders control for overflow, and completing a row goes through the exact same code path as marking it done from Home or a notification, so there is one completion behavior to trust rather than three that drift apart.

iOS 18 devices open Home instead — the card needs an API iOS 26 has and older systems don't — but the shortcut still routes correctly there, which took a fix: those intents had stopped recognizing the section marker they write themselves.

The quieter half of v2.4.5 is internal: the record screens collapsed onto a shared six-view template, and a 1,400-line ContentView split into bucket files. No visible change from either — it's groundwork so the next care feature doesn't grow inside one file.

Task(ed)

Telling the system what you actually do

Completing a task, adding one to a list, quick-adding, and showing today's tasks are now reported to iOS as you do them in the app — not only when run through Siri or Shortcuts. That reporting is the raw material Siri Suggestions, Spotlight, and the Lock Screen draw on when they offer an app action, and until now Task(ed) had no way onto those surfaces at all.

What came of a week of carrying it on device: 26 donations recorded, nothing surfacing proactively yet. That's expected — whether and when the system acts on donations is Apple's call, not ours — and because donating is purely additive, it shipped as a finding rather than a blocker. Destructive actions like delete and clear-completed are never reported; the system shouldn't be suggesting those.

AisleWise

Speaks Your Language

AisleWise was translated, but English kept leaking through in places no string sweep had caught: the sort menu rendered raw enum values, list counts were assembled by gluing words together in code order, the Spending tab and scanner copy were hardcoded, and VoiceOver hints pasted English words into otherwise translated sentences. All fixed, with counts reading properly in singular and plural — Spanish changes the verb, not just the noun.

The subtlest bug was data, not strings: the category browser saved the translated aisle name, so an item added in Spanish stored "Panadería" — which then sorted as a custom category, could render a duplicate header, and went invisible to Siri's aisle filter. Built-in categories now store the raw name and resolve the translation at display time, with existing lists normalized on read so nothing migrates.

AisleWise

Prices that survive a comma

In locales where the decimal separator is a comma — French, German, Spanish, and others — the Total field on the receipt-confirm sheet was silently stripping the comma while you typed: "12,34" became 1234, and a 100× error got written into the saved trip. The per-item price fields already handled this; the total field simply hadn't been given the same locale-aware formatter. Now both sheets use it, so what you confirm is what you meant.

Task(ed)

A filter that follows you into the list

Tapping "Today 3" while a Quick Find tag filter was active dropped the filter — you'd land on a Today list of four tasks, unfiltered, wondering which three you meant. The section list had no way of knowing a filter existed upstream. Filtering now travels as one shared predicate used by both Home's counts and the section list, which also means both sides finally agree on what a search term matches. While a filter is active, buckets expand in place to show their matching tasks, so the answer is visible before you tap anything.