AIが「家計簿」の概念を変える。私が「FinanceFlow」を作った理由。
💭 夜も眠れないほど悩んでいた問題
正直に言うと、私はお金の管理が昔から苦手でした。浪費癖があるわけではありませんが、支出を記録することが「やらなければいけない宿題」のように感じられ、どうしても続きませんでした。
試してみた家計簿アプリは、すべて2つのタイプに分かれていました:
- シンプルすぎる - ただのスプレッドシート。すべての取引を手動でカテゴライズする必要がある
- 複雑すぎる - 会計の専門用語を理解しないと使えない企業向けツール
私が本当に欲しかったのは、私の代わりに考えてくれるアプリでした。ただ記録するだけでなく:
- どこにお金が使われているか、ラベル付けせずに理解してくれる
- 使いすぎる前に警告してくれる(使った後ではなく)
- 一般的な「もっと節約しましょう」ではなく、私の支出パターンに基づいた具体的なアドバイスをくれる
そこで FinanceFlow を開発しました。AIが面倒な作業を引き受けてくれる個人金融アプリです。
🚀 AI製品の開発から学んだこと
教訓1:AIは速くなければ、誰も使わない
最初のプロトタイプは、1つの取引をカテゴライズするのに5〜8秒かかっていました。「AIの魔法だから、これくらいは当然」と思っていました。
ユーザーはそれを嫌がりました。
コーヒー代を追加するのに8秒も待ちたい人はいません。そこでOpenAIからGoogle Gemini Flashに切り替えました。精度は同じで、コストは10分の1、応答時間は1秒以下です。
そしてもう一つ学んだこと:AIを待っている間、ユーザーインターフェースをブロックしてはいけない。今では取引を追加すると即座に保存され、AIはバックグラウンドでカテゴライズします。ユーザーは作業を続けられます。
教訓2:ユーザーは「魔法」を信頼しない - 説明が必要
初期バージョンは、すべて自動でカテゴライズしていました。ユーザーは何度も聞いてきました:「なぜこれが'交通費'になったんですか?」
そこで信頼度スコアと理由を追加しました:
- ✅ 食費 - 95%の信頼度(キーワード:「カフェ」「コーヒー」)
- ⚠️ 交通費 - 62%の信頼度(カテゴリーが間違っている可能性)
結果的に、説明することは、100%正確であることよりもはるかに信頼を築くことがわかりました。
教訓3:最高のAIは間違いから学ぶ
AIが間違えたとき、ユーザーに修正させるだけでなく、教えてもらうようにしました:
「AIは'エンターテイメント'を提案しましたが、あなたは'教育'に変更しました。なぜですか?」
間違ったキーワードが検出された
文脈が不足していた
これは特殊なケース
これで、AIは「Udemy」は教育であってエンターテイメントではないことを学習します。すべての修正が、全員にとってAIをより賢くします。
これは継続的改善(改善/Kaizen)の原則を体現しています。 すべてのユーザー修正は貴重なデータポイントであり、AIが昨日より今日、さらに優れていることを保証します。これは単なる機械学習ではなく、AIシステムが訓練データだけでなく、実世界のフィードバックを通じて進化すべきという哲学です。
🤖 あなたが寝ている間も働くAI
最も誇りに思っている機能は? Budget Guardian(予算ガーディアン) - アプリを使っていないときでも、1時間ごとに実行されるAIエージェントです。
これは以下のようなことをする金融アドバイザーのようなものです:
- 支出を24時間365日監視
- あなたが見逃すパターンに気づく(「あなたのUber支出は3ヶ月連続で15%増加しています」など)
- 使いすぎる前にアラートを送る(使った後ではなく)
- 実際の行動に基づいて予算の調整を提案
ただし: うるさいロボットのように感じてほしくありませんでした。そのため、すべてのアラートには以下が含まれます:
- 気づいたこと(データ)
- なぜ重要か(文脈)
- 何をすべきか(実行可能なアドバイス)
通知の例:
🚨 食費の予算が87%使用されています(月末まであと12日)
平均して1日$18を使っていますが、予算では1日$15です。
今週、外食を2回減らすことで予算内に収まるか、過去3ヶ月の平均に基づいて食費予算を月$550に調整してください。
🎯 すべてを変えた機能:「Big 4 Analysis」
ほとんどの金融アプリは、何に使ったかを教えてくれます。私はユーザーにそれが何を意味するかを伝えたかったのです。
そこで開発したのが Big 4 Decision Intelligence(意思決定インテリジェンス):
- キャッシュフローの健全性 - 収入は支出より多い?一貫している?
- リスク評価 - 収入が止まったら、どのくらい生き延びられる?
- 弱点 - 自分の履歴と比較して、どこで使いすぎている?
- 行動計画 - 影響力に基づいてランク付けされた推奨事項
*「もっと節約しましょう」*のような一般的なアドバイスの代わりに、ユーザーは次のような具体的な洞察を得られます:
あなたの交通費(月$420)は、6ヶ月平均より34%高いです。これは最も使いすぎているカテゴリーです。
推奨アクション: 週2回公共交通機関に切り替えることでUber/Lyftを減らす。これにより月約$120節約でき、緊急資金が1.2ヶ月分から1.8ヶ月分に改善されます。
違いは? これは彼らのデータに基づいているのであって、教科書的な金融アドバイスではありません。
🏗️ 技術的な詳細(興味がある方へ)
私はフルスタックエンジニアなので、これをエンドツーエンドで構築しました:
バックエンド: NestJS(TypeScript)+ PostgreSQL + BullMQ(バックグラウンドジョブ用) フロントエンド: Next.js 16 with React 19(最先端技術です) モバイル: React Native with Expo(1つのコードベースでiOS + Android) AI: Google Gemini 1.5 Flash(速度とコスト効率のため) 統合: Stripe(決済)、Plaid(銀行接続)、Resend(メール)
なぜこのスタック?
- 完全な型安全性 - ユーザーが見る前にバグを発見
- リアルタイム更新 - ページの再読み込み不要
- 本番環境対応 - プロトタイプではなく、実際にデプロイされて稼働中
- スケーラブル - 数十ではなく、数百万のトランザクションを処理できるように構築
- プライバシー第一のアーキテクチャ - すべての金融データは保存時および転送時に暗号化され、ユーザーは金融履歴の完全な所有権と安心感を得られます。データ共有なし、機密情報に関する第三者の分析なし
🎨 デザイン哲学:金融を人間らしくする
FinanceFlowを銀行アプリのように見せたくありませんでした。銀行はお金を冷たく、ストレスフルに感じさせます。
そこで追加したのは:
- スムーズなアニメーション - すべてが滑らかに遷移(Framer Motion)
- お祝いの瞬間 - 貯蓄目標を達成?紙吹雪!🎉
- 個性のある空の状態 - 「取引が見つかりません」ではなく、「あなたの財布は寂しいです。最初の支出を追加してください!」
- すべての人にアクセシブル - 完全なキーボードナビゲーション、スクリーンリーダー対応、WCAG 2.1準拠
お金は感情的です。UIはそれを認識すべきです。
📱 モバイルアプリも作った理由
人々はデスクトップよりもスマートフォンで金融をチェックすることがはるかに多いことに気づきました。理にかなっています - コーヒーを買ったばかりなら、家に帰ってからではなく、今すぐ記録したいですよね。
そこで、以下の機能を持つReact Nativeアプリを構築しました:
- Webアプリとリアルタイム同期
- オフラインで動作(ローカルに保存し、オンラインに戻ったときに同期)
- 迅速な支出入力用のウィジェット
- 将来:カメラでレシートをスキャン(AI + OCR)
🧪 ユーザーについて学んだこと
1. 人々は金融について考えたくない
最も頭を使わずに済むアプリが勝ちます。自動カテゴライズは「あったらいいな」ではなく、絶対必要です。
2. 透明性は精度に勝る
ユーザーは、説明してくれる85%正確なAIを、ブラックボックスのように感じる95%正確なAIよりも好みます。
3. トレンドは合計よりも重要
「今月$2,340使いました」と伝えても役に立ちません。「先月より15%多く、主に交通費です」と伝えると実行可能です。
4. ポジティブな強化が機能する
「使いすぎています!」とだけ言う通知は、人々にアプリを閉じさせます。勝利も混ぜる:「今月、ショッピングで予算より$120少ないです!🎉」
🚧 直面した課題
課題1:AIのカテゴライズが十分に正確ではなかった
解決策: キーワード学習システムを構築しました。ユーザーがAIを修正すると、アプリはそれらのキーワードを記憶します。今では「スターバックス」→食費、「Uber」→交通費(Uber Eatsでない限り、その場合は食費)がわかります。
課題2:リアルタイム更新は難しい
解決策: ライブダッシュボード更新にはServer-Sent Events(SSE)を使用しました。バックグラウンドジョブがトランザクションのカテゴライズを完了すると、UIはポーリングなしで自動的に更新されます。
課題3:ユーザーはデータではなく、洞察を求める
解決策: だからこそBig 4エンジンを構築しました。生の支出データは退屈です。「あなたの収入は変動的です - 3ヶ月ではなく6ヶ月分の支出を貯蓄すべきです」のような洞察は価値があります。
課題4:モバイル + Web同期は難しい
解決策: SWR(stale-while-revalidate)ライブラリ。両方のアプリがデータをローカルにキャッシュし、古いデータを即座に表示し、バックグラウンドで同期します。
🔮 次のステップ
追加予定の機能:
- レシートスキャン - レシートの写真を撮ると、AIが合計とカテゴリーを抽出
- 共有予算 - カップル/家族が一緒にお金を管理
- 予測予報 - 「この支出パターンを続けると、3ヶ月後の財務状況はこうなります」
- AI金融コーチ - すべての支出履歴を知っているチャットベースのアドバイザー
💡 これを共有する理由
私がFinanceFlowを構築したのは、AIが退屈な作業を行い、人間が生活に集中できるようにすべきと信じているからです。
私は最も技術的に印象的な製品を作ることを目指したわけではありません。毎日実際に使いたいものを作ることを目指しました。以下のようなもの:
- 時間を尊重する(速く、自動的)
- 知性を尊重する(自己説明する)
- 目標を尊重する(一般的なヒントではなく、パーソナライズされたアドバイス)
AI製品を構築している方、フィンテックで働いている方、または最新のWebアプリがどのように作られているか興味がある方 - ぜひつながりましょう。
私が探しているのは:
- エンジニアリングと同じくらいユーザー体験を大切にするチーム
- 本当の問題を解決する本物の製品を作るチーム
- 自律性とフルスタックオーナーシップを重視するチーム
- 最先端技術を本番環境で使うことを恐れないチーム
なぜ日本か?
この**「実行可能なAI」**の哲学を日本のテックエコシステムにもたらすことに興奮しています。精度、信頼、長期的思考が最も重要視される日本独自の金融文化には、データを記録するだけでなく、個人および企業財務の複雑さを積極的に簡素化するツールがふさわしいです。
FinanceFlowに埋め込んだ原則 - 継続的改善(改善)、透明性、ユーザーへの敬意 - は、日本のエンジニアリング価値観と深く一致しています。次世代のフィンテックイノベーションは、最先端のAIと日本のテクノロジー企業が知られている厳格さと職人技を組み合わせることから生まれると信じています。
私は、重要な製品を一緒に作る真のパートナー(仲間/Nakama)となれるチームを探しています。
🌟 技術スタック(開発者の方へ)
バックエンド: NestJS, Fastify, PostgreSQL, BullMQ, Redis フロントエンド: Next.js 16, React 19, TailwindCSS, Framer Motion モバイル: React Native, Expo AI: Google Gemini 1.5 Flash 統合: Stripe, Plaid, Resend デプロイ: Vercel + Google Cloud Run テスト: Jest, Playwright, Accessibility(axe-core)
夜と週末の6ヶ月間で構築。すべての機能はユーザーテスト済み。すべてのAI決定には監査証跡があります。すべてのアニメーションは手作業で調整されています。
人々が実際に使いたい製品を一緒に作りましょう。 🚀
https://finance-flow-pied-rho.vercel.app/
📬 お話ししませんか?
以下についていつでもお話しできます:
- プロダクトエンジニアリングとフルスタック開発
- 本番環境でのAI/ML(誇大広告ではなく、実際の課題)
- 履歴書のためではなく、ユーザーのために構築すること
- デザインとエンジニアリングの交差点
Wantedlyでお気軽にご連絡ください!