aro-mobi

ライター石井徹の個人ブログ

タスク管理アプリを自作したら、完了したタスクが勝手に日記になった話

タスク管理と作業ログを一体化したWebアプリ「長い長いノート」を作りました。

タスクを完了すると自動的にタイムラインに記録されて、「あれいつやったっけ?」が後から検索できる——というシンプルなアプリです。なぜこれを作ろうと思ったのか、どんな機能があるのかを紹介します。

自作した「長い長いノート」アプリ


「完了したタスクを消さない」という発想

開発のきっかけは、Allen Pike氏の「How Leaders Manage Time & Attention」という記事でした。

25人のテックリーダーにタスク管理の方法をインタビューした記事なんですが、その中で約3分の1の人が使っていた「Long-Ass Note」という手法が面白かった。

やり方はシンプルで、

  • 一つの長いメモにタスクを書き出す
  • 終わったタスクは消さずに、日付をつけて下に移動する
  • 結果的に「今やること」と「過去にやったこと」が一つのノートに蓄積されていく

要するに、タスク管理と作業ログが一体化するんですね。「あれいつやったっけ?」が全部そのノートを検索すれば分かる。

「これいいな」と思って、Notionで同じことを試してみました。


Notionでは続かなかった

理論上はうまくいくはずだったんですが、手動でタスクをタイムラインに移す作業が面倒で続かなかったんですよね。

完了したタスクを選択して、日付を書いて、下のセクションに移動して…という作業を毎回やるのが地味にストレスで。数日は続くんですが、忙しくなると「まあいいか」でチェックだけ入れて終わり。気づいたら普通のTodoリストに戻っていました。

「完了したら勝手にタイムラインに記録されればいいのに」

——そう思ったのが、このアプリを作り始めた理由です。


できたもの

というわけで作ったのが「長い長いノート」です。名前はもちろん「Long-Ass Note」から。

longlongnote.aroka.net

タスク完了ボタンを押すとタイムラインに登録される

仕組みはシンプルで:

  1. タスクを追加する(普通のTodoアプリと同じ)
  2. 終わったらチェックを入れる
  3. 完了したタスクが自動的にタイムラインに記録される

「手動で移す」という一手間をなくしただけですが、これだけで継続できるようになりました。

タイムラインは日付でグルーピングされるので、「1月15日に何をやったか」が一目で分かります。タスクとは関係ないメモを手動で追加することもできるので、簡易的な作業日記としても使えます。


地味に便利な機能たち

AI検索

「先週完了したタスクは?」「○○に関する作業っていつやった?」みたいな自然な言葉で検索できます。

内部ではClaude(Anthropic社のAI)を使っていて、タイムラインの内容を読み取って回答してくれます。1日3回までの制限をつけていますが、ちょっとした振り返りには十分です。

AIで完了したタスクをふりかえる機能付き

エクスポート

タイムラインをテキストやMarkdown形式でエクスポートできます。月報を書くときや、振り返りをするときに便利です。日付範囲も指定できるので、「今月分だけ」みたいな使い方もできます。

ドラッグ&ドロップ

タスクの並び替えはドラッグ&ドロップで。PC・スマホ両対応です。

期限設定

タスクに期限日を設定できます。期限を過ぎたタスクは赤く表示されて「やばい、忘れてた」が分かりやすくなります。


使ってみたい方へ

このアプリは招待制で運営しています。

興味がある方はお問い合わせフォームから「利用希望」を選んでご連絡ください。折り返しご案内します。

招待制にしている理由は、個人開発で運営コストに限界があるのと、まだ機能改善の途中だからです。ご了承ください。

※お問い合わせフォームはGoogleログインが必要です。利用許可の登録にGoogleアカウントのメールアドレスを使うためですので、ご了承ください。


技術的な話(興味ある人向け)

使っている技術スタックはこんな感じです:

  • フロントエンド: React + Vite + TailwindCSS
  • バックエンド: Firebase(Authentication、Firestore、Cloud Functions、Hosting)
  • AI検索: Claude API(Anthropic)
  • エラー監視: Sentry

認証はGoogleログインのみ。Firestoreのセキュリティルールで、自分のデータしか読み書きできないようにしています。

AI検索の部分はCloud Functionsで実装していて、タイムラインのデータをClaudeに投げて回答を生成しています。コストが心配だったので、1ユーザー1日3回のレート制限をかけています。

PWA対応もしているので、スマホのホーム画面に追加すればアプリっぽく使えます。


最後に

正直なところ、「自分が欲しかったから作った」というのが一番の動機です。

でも同じような不満を持っている人がいたら使ってもらえると嬉しいです。フィードバックをもらえると、もっと嬉しいです。

longlongnote.aroka.net

2026年2月14日追記

開発の裏側をZennに書きました。よかったらご覧ください。

zenn.dev