シンプルなタスク管理アプリ「meguri」を作った。
NotionやTrello、Jiraなどタスク管理ツールはすでにたくさんリリースされている。
でも、個人で使うにはどれも機能が多すぎる。細かい仕様が自分にフィットしないこともよくある。
私はプロジェクト単位でタスクが管理できればそれでいい。
アカウント登録もクラウド同期もなく、ローカルで完結し、起動したらすぐ使えるタスク管理アプリがほしかった。
ダウンロードは以下から可能です。
主な機能
画面はサイドバーとメインで2カラムの構成。
サイドバーには縦にプロジェクトが並ぶようにしている。
縦並びは近頃流行りの構成だと思うけど、タブが横に並ぶよりは確実にこっちの方が便利と実感している。
サイドバー プロジェクト管理
プロジェクトを作成して、プロジェクトごとにタスクを管理できる。
- サイドバーでプロジェクトを選択し、メイン画面を切り替える
- プロジェクトごとにカラーを設定
- ドラッグ&ドロップでプロジェクトの並び順を変更
- 「ALL」ビューは全プロジェクトのタスクをまとめて確認するときに使う
メイン タスク管理
タスクごとの計画中・未着手・進行中といったよくある細かい進捗管理はあえて用意していない。
最初は進捗管理のラベルがある版を作り、しばらく使ってみたんだけど、面倒くさくて不要と判断し削った。
タスクがあるか、ないか。自分にはそれだけがわかればよかった。
- タスクをドラッグ&ドロップで上下に移動して優先度を変更
- 新規にタスクを作るときはタイトルだけ入力してサッとタスクを作れる
- 完了したタスクはアーカイブに移動する
タスクの詳細
タスクをクリックすると詳細パネルが開く。 メモなどを書いておきたいときはここに記録しておく。
- WYSIWYG形式のリッチテキストエディタで詳細を記述できる
- 期日を設定できる
工夫したところ
- 2ステータスの割り切り: 進捗の粒度を「やる」「終わった」の2つに絞ることで、ステータスの管理に頭を使わなくて済むようにした。
- QuickAdd: タスク追加のたびにモーダルを開くのは面倒なので、一覧画面からタイトルだけ入力して即座に追加できるようにした
- ALLビュー: 全プロジェクトを横断してタスクを確認できる。今日何をやるか考えるときに使う
- ドラッグ&ドロップの優先度管理: 上にあるものほど優先度が高いという想定で使う。数値やラベルで優先度を設定するより直感的
- データはローカルに保存: SQLiteでローカルに保存。ネット接続なしで使える。データは自分の手元だけにある安心感
技術スタック
- Tauri v2 — デスクトップアプリのフレームワーク
- React 19 + TypeScript — フロントエンド
- Rust — バックエンド(データベース操作)
- SQLite — データの永続化
- CSS — スタイリング(Tailwindなどは使わず、素のCSS)
データの保存と取得はRust側でSQLiteを操作し、フロントエンドからTauriのコマンドとして呼び出す構成にしている。
前作のkomonoではTailwindを使っていたんだけど、AIに具体的に指示を出すときに特定のクラス名を指定して依頼するとブレが減るので、普通にCSSを使うようにした。
Tailwindだと、クラス名で指定するのが面倒。
ダウンロード
macOS版(Intel / Apple Silicon 両対応):
アプリ内に自動更新機能が入っているので、一度インストールすれば新しいバージョンが出たときに通知される。
おわりに
今さらタスク管理アプリを自分で作る意味や価値があるのか?
ある。
人の数だけあっていいとさえ思っている。
日曜大工のように自分で使うアプリを作るのは楽しいし、実益も備えた趣味のような世界が広がっていると思う。