Assine

ステータス
閲覧数
0 回
概要
スケジュールとタスクを一元管理。AIアシスタントとも連携可能な次世代タスク管理アプリ
詳細
💡開発背景・課題意識
既存のタスク管理アプリを使う中で、「会議」と「会議の準備タスク」が別々に管理され、関連性が見えづらいという課題を感じていました。会議直前になって準備タスクが終わっていないことに気づくケースが多発し、 タスクとスケジュールを統合管理できるツールの必要性 を実感しました。
また、AIアシスタントが普及しているにもかかわらず、タスク管理ツールがAIと連携できない点も課題でした。「今日のタスクは?」と聞いても、わざわざアプリを開く必要がある。この非効率を解消するため、 MCP(Model Context Protocol)対応 でClaudeから直接操作できるタスク管理アプリとして開発しました。
⚡主な機能
スケジュール-タスク統合管理(コア機能)
スケジュールに直接タスクを紐付け、準備作業を一元管理
スケジュール配下のタスク進捗を自動計算・可視化
会議開始前に「未完了タスクあり」の警告を表示
階層自動判定システム
入れ子構造の深さで自動的に軽・中・重タスクを判定
軽タスク→日単位、中タスク→週単位、重タスク→月単位で時間軸を自動調整
ユーザーは階層を意識せず自然にタスクを構造化可能
4ページ構成
タスク一覧:階層構造の可視化・編集
指定:日・週・月へのタスク割り当て
進捗:今日・今週の実行・進捗入力
振り返り:過去実績の分析・改善提案
AI連携(MCP対応)
Claude Desktopから直接タスクの作成・確認・更新が可能
「今日のタスクを教えて」「明日の会議の準備タスクを作って」などの自然言語操作
REST APIをMCP Serverとしてラップする設計で、将来的にChatGPT・Geminiにも対応予定
PWA・オフライン対応
ホーム画面への追加でネイティブアプリライクな体験
オフラインでもフル機能動作(タスク作成・編集・進捗更新すべて可能)
オンライン復帰時に自動同期、競合検出・解決機能あり
🛠技術スタック
| カテゴリ | 技術 |
|---|---|
| フロントエンド | React 19 / Next.js 15 (App Router) / TypeScript |
| スタイリング | Tailwind CSS / shadcn/ui |
| 状態管理 | Zustand |
| バックエンド | Supabase(PostgreSQL / Auth / Realtime / Edge Functions / RLS) |
| ホスティング | Vercel |
| PWA | Service Worker / IndexedDB / Dexie.js |
| AI連携 | MCP Server / REST API |
| 決済 | Stripe |
| 外部連携 | Google Calendar API / Microsoft Graph API |
🔧技術的な工夫・設計判断
スケジュール-タスク紐付けのデータ設計
タスクテーブルに parent_task_id と parent_schedule_id を持たせ、排他的制約で「通常タスクの子」か「スケジュールの子」のいずれかに限定。スケジュール配下は最大2階層までという制限により、データ構造の複雑化を防ぎつつ柔軟な紐付けを実現しています。
階層自動判定アルゴリズム
タスクに子要素が追加されると自動的に中タスクに昇格、さらに孫要素が追加されると重タスクに昇格するロジックを実装。降格も同様に自動判定され、ユーザーは階層を意識せず自然にタスクを構造化できます。
MCP対応を意識したAPI設計
将来のMCP Server化を見据え、RESTful APIをリソースベースで設計。GET /api/tasks、POST /api/schedules/:id/tasks など、MCPツールへの変換がシームレスに行える構造としています。
オフラインファースト設計
Service Worker + IndexedDB(Dexie.js)でローカルDBを構築。オフライン時はローカルDBのみで動作するため、トークン期限切れでも全機能が使用可能。オンライン復帰時の同期では、タイムスタンプベースの競合解決アルゴリズムを実装しています。
Row Level Security(RLS)の活用
SupabaseのRLS機能により、ユーザーは自分のデータのみアクセス可能。共有グループのデータはグループメンバーのみがアクセスできるポリシーを設定し、フロントエンドのバグがあってもデータ漏洩が起きない設計としています。
📊競合との差別化ポイント
| 観点 | 既存アプリ(Notion/Todoist等) | assine |
|---|---|---|
| スケジュール-タスク紐付け | 非対応(別々に管理) | スケジュールに直接タスクを紐付け可能 |
| 階層管理 | 手動で設定 | 入れ子構造から自動判定 |
| AI連携(MCP) | 非対応 | Claude Desktopから直接操作可能 |
| オフライン対応 | 制限あり | フル機能動作 |
| 日本語最適化 | 翻訳ベース | ネイティブ対応 |
🚀今後の展望
Pro版リリース:AI分析・タスク自動生成・スケジュール最適化提案
ChatGPT GPTs / Gemini Extensions対応
React Nativeでのネイティブアプリ化(iOS/Android)
チーム向け機能の強化・B2B展開