個人開発を「放置」したまま1日に24回、アプリが進化した記録 — 自走ループ設計と誠実リファクタ
本記事はAIアシストで執筆し、人間が内容を確認しています。(AI使用表記)
数字はすべて実測値(2026-10-18段階)で、誇張や捏造はありません。
「1人で個人開発を続ける」と聞くと、孤独と停滞がセットで思い浮かびがちです。
この記事では、私がMacに「30分ごとに起きて作業するループ」を組んで放置したところ、1日で24回アプリの進化が積み重なった実験の記録を書きます。
成果自慢ではなく、途中で発見して直した「見せかけ」のことも正直に書くのが主目的です。
前提のプロダクト
- Conscio: メニューバー常駐の文脈認識ナビゲーター(macOS 13+ / Apple Silicon / 完全オンデバイス / MIT / 課金ゼロ)
- 前回の記事(Swiftで文脈を認識するメニューバーアプリ): https://qiita.com/Atsuki33/items/9f1b6af7a9edc5b70968
仕組み: 三層ループ
sleepコマンドを3本、役割を分けて発火させるだけの構造ですが、1日運用で壊れませんでした。
| レーン | 間隔 | 役割 |
|---|---|---|
| main | 30分 | 進化ティック本体(バックログ先頭を実装→build→push→記録) |
| backup | 47分 | mainが死んだ時だけ検知して復旧。生きていれば無言で退場(増殖しない) |
| emergency | 3時間 | 最終保険。発火してもheartbeatが新鮮なら何もしない |
ポイントは3つ:
- 再アームを必ず先にやる — 作業で例外が出ても次のタイマーは生きている
- heartbeat(心拍)をファイルに残す — backupが「32分以上更新がなければ復旧」と判定する。これで乱発火がなく
- 復旧手順書をリポジトリにコミット — セッションが死んでも次の再開者が読める(RECOVERY_PROTOCOL.md)
実装は素朴です。だからこそ、障害ゼロで1日回りました。
1日で積み上がった進化(例)
v1.0 → v1.3.0(Release 4本)に至る24進化のうち、特に効いたもの:
- 習慣データのJSON永続化(再起動しても消えない)
- 日本語NLP改善(NLLanguageRecognizer → NLTaggerへの言語明示)
- 直近アプリ履歴からの「戻る提案」(クリックで実際にアプリ切替へ)
- レポートの7日チャート・週合計・連続集中日数🔥
- 設定ウィンドウの本物化(偽トグル2個の撤去)
それぞれ30分ティック内に「実装→build→push」が完結する大きさに切り出すのがコツでした。
本丸: ループが見つけた「見せかけ」とその修正
放置していて一番価値があったのは、速さではなく誠実さのリファクタでした。
- 偽スコアの撤去: レポートに「集中達成スコア 88/100・先週比+12%」という固定値が残っていました → 「目標60分/日の達成率」の実データ計算に置換
- デモ提案の全面撤去: 本番UIに存在しない文書やexample.comへのリンクが入っていた → 提案欄は実在するものだけに(戻る提案+実キーワード検索のみ)
- macOS仕様の正直化: 「◯件の通知を抑制しました」という文言が、macOSの仕様上(他アプリの通知はOS管理で取得不可)根拠を持たないと判明 → 通知の代わりに「◯◯での集中セッション: ◯分」の実データ報告に刷新し、OSの限界は仕様として透明に表記
ここは教訓が大きくて、**「自動化は速い嘘を大量生産できる」**ということです。
ループに первоначoffsから「偽値禁止」「誇張禁止」の規則を書いておいたのが効きました(1人でもAIでも守れるルールとして共有)。
費用と体制
- 費用: 0円(有料API・Apple Developer加入なし・アドホック署名で配布)
- 個人情報: 出さない・保存しない・投稿しない、を最初のルールに固定
- 公開物: 記事は毎回人間の確認を経て投稿(この記事も)
実測の数字(約9時間経過時点)
- 初回記事のPV: 135・ストック: 1
- GitHub Stars 0・Uniques 1・アプリDL 0(arm64限定+未署名という現実のハードルはそのままです)
伸びるかは誰にも予想できませんが、**「放置してもプロダクトが前へ動き、かつ嘘が一掃された状態」**は作れました。
まとめ
- 手を止めても動いたのは、タスクを30分幅で切り出し、書き捨てない記録(日報・バックログ・心拍)があったから
- ループは「増えない」設計と「復旧手順の公開」で壊れない
- 自動化の価値は速さより誠実さに振れた方が長くに続く
同じ構造は個人開発以外(成果報告、掃除、学習ログ)にも応用できると思います。
本記事はAIアシストで執筆し、人間が内容を確認しています。
リポジトリ: https://github.com/Andy234-andy/conscio