Skip to case study

2026 - Present

CRLO: giving shared reminders a backend owner

Moving a shared vehicle logbook from device-local notification schedules to backend-owned reminders, recipients and retry state.

React Native · Expo · Convex · Clerk · Nativewind

Visit project

Problem

A service or insurance reminder can concern several people in a shared garage. A schedule created by one phone could not represent that shared state, and depended on a device observing each change.

My role

I designed and built CRLO, a shared vehicle logbook for households, and rebuilt its reminders as a backend workflow.

Decision

I moved due-time evaluation, recipient selection and delivery state to the backend. Devices retained permission handling, push-token registration and navigation. Delivery records preserve the unresolved recipients and tokens so retries do not repeat successful work.

Result

The documented workflow records delivery status and attempts, resolves recipients from current garage membership, and cancels queued work when the underlying reminder changes. Overdue reminders follow a day 1, 3, 7, then weekly cadence rather than a daily local repeat.

Further reading

Based on the architecture article published 19 July 2026. An accepted push ticket is not proof of device delivery; the article identifies push-receipt reconciliation as remaining work.