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.
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 development | Platform: iOS 17+ | License: Open Source |