← プロジェクト一覧

ネイティブのコーヒー記録アプリ

Naerim · 내림

また淹れたい一杯の、その理由を残す。

抽出を記録し、レシピを保存し、一杯ごとの条件を比較するネイティブのコーヒー記録アプリです。iPhoneとiPad向けに開発・公開し、韓国語・英語・日本語に対応しています。

担当範囲
企画・デザイン・開発・公開を一人で担当
主な技術
  • Swift
  • SwiftUI
  • SwiftData
  • WidgetKit

システムの構成

技術解説は2026年9月17日に確認したソースに基づきます。App Store版には、一部の変更がまだ含まれていない場合があります。

  1. 01SwiftUI · 値型の編集用データ
  2. 02セッションコーディネーター · リポジトリ
  3. 03SwiftData · JSONチェックポイント

画面では値型のデータを編集します。永続化はリポジトリが担当し、実行中または未保存の抽出は共通のコーディネーターが複数のアプリウインドウにまたがって管理します。

画面を支える設計判断

01

過去の記録を現在のカタログから独立させる

抽出時のレシピと器具の値をスナップショットとして記録します。カタログの項目を編集・削除しても、過去の一杯の条件は変わりません。

02

途中の作業を復元する

単調増加クロックで経過時間を計測し、JSONチェックポイントをアトミックに書き込んで再起動後の復元に備えます。結果の保存とチェックポイントの削除の状態を照合することで、再試行時に保存済みの抽出を識別できます。

03

下書きを置き換える前に検証する

レシピの湯量調整では、オーバーフロー、非有限値、丸めの残差を確認してから置き換え用のデータを作成します。調整に失敗した場合は元の下書きを保持します。この処理は独立したSwiftパッケージとして公開しています。

Naerim · 내림

開発でのAI活用

範囲を定めた開発作業にCodexを活用しました。抽出データの入力改善では、測定項目を個別に選べるシンプルな流れを求めました。実装では、未入力の値、目標湯量と実際の湯量、新しい下書きと過去の結果をそれぞれ区別しています。

製品の動作、変更の採用、公開については自分で判断しています。ビルド、XCTestの結果、UIの確認、ソースのスナップショットにより、検証した内容を記録しています。抽出と比較には、ネイティブのSwiftのデータ処理と計算ロジックを使っています。

コードと検証

公開しているレシピ検証パッケージでは、比率と目標量の324通りの固定された組み合わせの検証を含む14個のテストが通過し、GitHub Actionsの実行も成功しています。アプリ全体については、日付と範囲を分けた検証記録を技術解説に掲載しています。

ほかのプロジェクト