
つくった理由
タスク管理が続かないのは、消化しても何も起きないからだと考えました。QuesToDo では、ひとつ完了するたびに EXP(経験値)が入り、レベルが上がり、新しいパーツやスキルが解放されます。
主な機能
- 難易度(易しい・普通・難しい)でもらえる EXP(経験値)が変わる
- 繰り返し(毎日・曜日指定・隔週・N日ごと)、期限と時刻、優先度、ジャンル
- フォルダで整理、検索、並び替え、ドラッグアンドドロップ、削除した項目の復元
- レベルアップでステータスを割り振り。魔法・とくぎ・称号など52種のスキル
- 髪型・服・アクセサリー・武器・盾など81種のドット絵パーツで着せ替え
- 連続達成日数の記録、毎日のリマインダー、期限のお知らせ
技術構成
| 項目 | 内容 |
|---|---|
| フレームワーク | Expo SDK 54 / React Native 0.81 |
| 言語 | TypeScript(strict) |
| データベース | expo-sqlite(端末内のみ。サーバーなし) |
| 課金 | RevenueCat |
| 広告 | Google AdMob |
| 分析 | PostHog |
| ビルド | EAS Build |
データはすべて端末内の SQLite に保存し、アカウント登録は不要です。スキーマの変更は追記型のマイグレーションのみで行い、現在はバージョン9です。
ドット絵は108枚(アバターのパーツ81枚 + 発動エフェクト27枚)あり、すべて Node.js のスクリプトで生成しています。ピクセル単位の配色をコードで管理しているため、パーツの追加や色の調整をコマンドひとつで再生成できます。
自動テストは25スイート366件です。レベル計算、連続達成日数の判定、EXP(経験値)の再計算といったゲームロジックは、すべて純粋関数として切り出してテスト対象にしています。
収益化
本体は無料です。バナー広告は3画面のみに置き、ホーム画面には表示していません。任意のプレミアム(月額・年額・買い切り)を購入すると広告が消え、統計画面が開きます。RPG の部分とタスク管理の機能は、すべて無料で使えます。
リンク
- App Store : QuesToDo
- 開発の記録 : QuesToDo 開発ポートフォリオ
