iPhoneアプリ|TsukiUsagi Timer
作成日:2025-11-05
更新日:2025-11-05
はじまりの月
「時間」を計測するアプリではなく、「集中の詩」を描くツールとして設計。
月の満ち欠けのように、静かに進行する時間を可視化する。
開発関連
ツール
- SwiftUI
- ActivityKit
- WidgetKit
- Git
- TestFlight
- エディター関連
- Xcode
- Cursor
- Claude Code
- ChatGPT
機能
- タイマー機能(Start / Pause / Resume / Reset)
- Live Activityでのリアルタイム残り時間表示
- ダイナミックアイランド対応
- 終了時のHaptic+音+光アニメーション(静音モード対応)
- 連続セッションのログ化(今後拡張予定)
設計思想
- コードは「描く」もの。UIは構造詩。
- 無駄なボタンを排除し、“流れ”を中心に設計。
- 「集中の邪魔をしない体験」を最上位の価値として定義。
- Clean Architectureを使い、「感情層」と「ロジック層」を分離。
AIコーディングにおける気づき
How I learned to design, think, and trust through structure.
- Planから始める。
思いつきで実装しない。必ず設計プランを言語化してから動く。 - プランは数往復して磨く。
一度出して終わりではなく、AIとの対話で構造を育てる。 - RCA(根本原因分析)を習慣化。
バグ修正では「なぜ起きたか」を掘り下げて再発防止へ。 - 追加機能は明文化して指示する。
あいまいな「こんな感じで」は禁句。条件と期待結果を明確に。 - ルールドキュメントを整備する。
プロジェクトの“暗黙知”を文字にして、再利用可能にする。
Git / GitHub 運用
- こまめにブランチを切る。
戻れる安心感があると、思い切った変更もできる。 - タグを打つ。
節目を明確にして、履歴をストーリーとして残す。 - 後回しはissue化。
“後でやる”を可視化し、思考の抜けを防ぐ。 - 変更履歴を「思考の記録」として読む。
Gitのdiffは、過去の自分との対話ログ。そこに成長がある。
テストと品質の構造化
- リントチェックで足並みを揃える。
コード規約を自動化して、チームを想定した品質基準を維持。 - pre-commitで自動防御。
コミット時に破損を防ぎ、常にクリーンな状態を保つ。 - テストコードを“守り神”にする。
安心して改修できるのは、テストが支えてくれているから。 - TDD(テスト駆動開発)思考。
テストを書いてから実装することで、焦点が明確になる。
エラー対応とドキュメント習慣
- 一度直っても油断しない。
別の修正で再発することがある。常に履歴と影響を追う。 - 修正ポイントはドキュメント化。
どこを、なぜ直したかを記録する。
効率化の工夫
- コマンドを自作する。
よく使う処理はスクリプト化。 - プロジェクト構造をテンプレート化。
次の開発を“設計済みの道筋”から始められるようにする。