Coffee Journal - iOS Brew Tracker

Overview

Coffee Journal is a personal project born from a simple need: remembering what made a great cup of coffee, and learning from every brew. As a coffee enthusiast, I found myself constantly tweaking grind settings, water temperatures, and brew times, but forgetting what worked and what didn’t. This app solves that problem with a clean, local-first approach.

The Challenge

Most coffee tracking apps either require internet connectivity, send data to external servers, or have cluttered interfaces that make quick logging tedious. I wanted something different: a privacy-focused, offline-first app with a minimal aesthetic that mirrors the focused ritual of brewing coffee itself.

Technical Approach

Local-First Architecture

The app is built on Core Data with SwiftData, ensuring all data stays on your device. iCloud sync via CloudKit provides seamless synchronization across iPhone and iPad without compromising privacy—everything stays in your personal iCloud account.

Key Features

Equipment Management Track your grinders and brew methods (V60, Aeropress, espresso machines) with custom configurations and settings.

Comprehensive Brew Logging Record the full brewing process:

  • Grind settings and dose measurements
  • Water temperature and brew time
  • Yield and extraction details
  • Photo documentation of each brew

Structured Tasting Notes Capture both quantitative and qualitative assessments:

  • 1-5 scale ratings for acidity, body, and sweetness
  • SCA flavor wheel tags for precise descriptor
  • Custom flavor notes
  • Freeform observations

Apple Intelligence Integration On-device machine learning extracts patterns from your brewing history and suggests optimal parameters for different coffees and methods.

Monochrome Design Philosophy The entire interface uses a black-and-white aesthetic, making it e-ink friendly and reducing visual distractions during the brewing process.

Coffee Journal home screen showing brew list Coffee Journal detailed brew view with tasting notes
Coffee Journal app screenshots showing the minimalist, monochrome interface design.

Technical Highlights

  • Swift 6.0 with modern concurrency features
  • SwiftUI for declarative, responsive UI
  • SwiftData wrapping Core Data for type-safe persistence
  • CloudKit for seamless cross-device sync
  • Privacy-first: No external servers, no analytics, no tracking
  • Offline-first: Full functionality without internet

Development Process

This is an actively developed personal project. I built it to solve my own needs while exploring modern iOS development patterns including:

  • SwiftData adoption for Core Data management
  • CloudKit container configuration and conflict resolution
  • On-device ML integration with Apple Intelligence
  • Local-first sync architecture

Roadmap

v1 (Current): Personal use with core logging features v2: Bean inventory management and enhanced insights v3: Bluetooth scale integration and App Store release

Source Code

The project is open source and available on GitHub. The README includes detailed build instructions for anyone wanting to build from source and customize for their own use.


Status: Active developmentPlatform: iOS 17+License: Open Source

Updated: