← back to projects
Project

Scribe

1

Family budget app for iOS, iPadOS, and watchOS. Tracks recurring income and expenses across multiple currencies, shares budgets with family via CloudKit, and has a watchOS companion for checking totals on the go.

SwiftSwiftUICloudKitiOSwatchOS

README mirrored from GordonBeeming/Scribe · updated 2026-07-12

Scribe

Build, Test & Deploy PR Verification Swift 6 Platform iOS Platform watchOS License FSL-1.1-MIT XcodeGen CloudKit

A family budget management app for iOS, iPadOS, and watchOS built with SwiftUI and Liquid Glass design.

#Features

  • Recurring Budget Items — Track income and expenses with flexible frequencies (weekly, fortnightly, monthly, irregular, etc.)
  • Multi-Currency Support — Handle budgets across different currencies with AUD as default
  • Family Sharing — Share budgets with family members via CloudKit sharing
  • CloudKit Sync — Seamless data sync across devices using CKSyncEngine
  • Widgets — Home screen widgets with configurable budget views
  • watchOS Companion — View budget summaries on Apple Watch
  • Variable Spending — Track discretionary spending with category budgets
  • Amount Overrides — Track amount changes over time for recurring items

#Requirements

  • iOS / iPadOS 26.0+
  • watchOS 26.0+
  • Xcode 26.2+
  • Swift 6

#Getting Started

This project uses XcodeGen to generate the Xcode project.

bash
# Install XcodeGen (if not already installed)
brew install xcodegen

# Generate the Xcode project
xcodegen generate

# Open in Xcode
open Scribe.xcodeproj

#Architecture

  • SwiftUI — Declarative UI with Liquid Glass design language
  • SwiftData — Local persistence
  • CKSyncEngine — CloudKit sync with last-writer-wins conflict resolution
  • WidgetKit — Home screen widgets with AppIntent configuration
  • App Groups — Shared data between app and widget extensions

#Project Structure

TargetDescription
ScribeMain iOS/iPadOS app
ScribeWidgetExtensionHome screen widget
ScribeWatchwatchOS companion app
ScribeWatchWidgetExtensionwatchOS widget
ScribeTestsUnit tests

#License

This project is licensed under the Functional Source License, Version 1.1, MIT Future License.