Chufola

An iPhone calendar with customisable widgets and a paint mode for marking out shifts and repeating schedules.

Chufola started as a customisable monthly calendar widget and gradually grew into a full calendar app. The month view remains the main part of the interface, particularly for shift patterns and irregular schedules where it helps to see several weeks together.

A calendar you can paint

Paint mode lets you define a reusable brush with a title, colour and optional time range, then drag across the calendar to apply it to several days. It is especially useful when the same shift or event repeats on dates that don’t fit a normal recurrence rule. Once the brush is configured, you can mark out the schedule without entering the event details each time.

Brushes can be saved and shared and calendar and time-range filters control what appears in the app and its three widget layouts.

Building the calendar

The calendar was initially an infinitely scrolling SwiftUI view. I later replaced it with a fixed-range UICollectionView, which gave me more predictable scrolling and layout behaviour while keeping the surrounding interface in SwiftUI. This was one of the larger changes as the project grew beyond the original widget.

The app reads and writes directly to calendars already configured on the device, including recurring events. It doesn’t need its own account or server and there are no adverts, analytics or third-party SDKs.

The core app is complete, including event editing, reusable brushes, localisation and widgets. I am working to prepare for App Store submission.

← Back to work