
Software
Trellis
Your relationships, growing.
Staying in touch with the people who matter shouldn't require a spreadsheet. Trellis turns your relationships into a garden — each person is a plant. Call them on cadence and they grow from sprout to bloom. Miss a call and they wilt. The app handles scheduling, reminders, and call logging automatically, so the only thing left to do is pick up the phone.
The Garden
A freeform canvas where every relationship lives as a plant. Drag to reposition, pinch to resize, double-tap to call. The gradient at the bottom shifts based on garden health — green when everyone is thriving, amber when calls are overdue.






Each plant reflects a relationship — drag to rearrange, double-tap to call
Growth System
Every plant follows a lifecycle driven by call streaks. Stay consistent and watch them bloom. Miss a cadence window and they wilt. Pause a relationship for 'Winter Rest' and the plant goes dormant — but leave it too long and it wilts even while paused.








Blooming
OverdueFour growth states per plant, from sprout to bloom to wilt
Care Settings
Each contact has its own cadence, preferred call days, notification windows, and plant. A three-tier priority system resolves scheduling conflicts: per-contact time blocks override per-day schedules, which override the global reminder window.

Contact detail with growth stats and care settings
Two-step setup: cadence first, then plant selection
Native iOS
Built in SwiftUI with SwiftData for persistence, shared App Group containers for widget data, CXCallObserver for automatic call detection, and a custom notification scheduler with three-tier time resolution. The widget renders five hand-crafted risograph landscape backgrounds based on garden health.