02 · Native iOS · In development

A Little
Better

A local-first iOS 18+ app where every helpful action earns permanent room progress. History can change; earned progress does not. There is no account, cloud sync, or streak reset.

  • PlatformiOS 18+
  • StorageOn device
  • StatusActive development
A Little Better warm room artwork
+1small actions
matter
01

The idea

Progress that accumulates instead of judging consistency.

Choose a few life areas and log a helpful moment from a suggestion, a short note, a pinned action, or the widget. Each log earns one permanent credit toward a 24-stage room; editing or deleting the original action never removes that progress.

Actions, private notes, pins, active-day markers, room credits, focus areas, and reminder settings stay on the device in storage shared by the app and widget. The app works without an account or product cloud sync.

Personal note

This one started with a question I kept returning to: can progress feel encouraging without turning everyday life into another streak to maintain?

02

Implemented areas

01

Progression system

A 24-stage SwiftUI scene composes independent furniture, plant, lighting, and detail layers at fixed credit thresholds. Progress never regresses.

02

Action loop

Six life areas, suggestions, optional notes, pinned actions, editable history, weekly reflections, configurable local reminders, and full local reset.

03

Widget

Small and medium WidgetKit widgets read shared progress, show the current room stage, and log a selected life-area action through an App Intent without opening the app.

03

The room system

Progress made visible

The final scene is assembled from one transparent base and independently positioned layers rather than switching between complete room screenshots.

Implementation

A native app, interactive widgets, and a small analytics service.

  • ApplicationSwift 6, SwiftUI, SwiftData, iOS 18+, local notifications, and English, French, and Russian localization
  • Shared coreIdempotent action logging, permanent credits, room thresholds, weekly summaries, and a local analytics queue
  • ExtensionSmall and medium WidgetKit widgets, App Intents, and shared App Group storage
  • AnalyticsConsent-gated uploads, allowlisted events, retry handling, Cloudflare Worker, D1, and weekly 180-day cleanup
  • ProjectXcodeGen, app, core, and widget targets, plus unit, UI, and Worker integration tests
Read the privacy policy ↗

Previous project

Simply Family Budget