← 個人制作へ戻る

SpendOps Dashboard

自分の収支傾向を、匿名化された集団データと比較できる分析サービス

設計完了・実装準備中

サービス概要

PayPayやクレジットカードなどの収支CSVを共通形式に変換し、利用者自身の月間支出やカテゴリ別傾向を確認できるWebアプリです。

複数人のデータを匿名化して集計し、自分の支出が全体平均と比べてどう違うかを表示します。他人の生明細や氏名、カード番号は共有せず、比較には集計値だけを使います。

対象
複数の決済手段を利用し、自分の支出傾向を客観的に把握したい人
現在地
複数人向けへの要件更新、主要画面、データ設計、AWS構成図まで作成済み。実装を準備中です。
公開URL
github.com/Muratayuduki/SpendOps_Dashboard

画面構成

一般利用者

01

ログイン

Cognitoで認証し、自分のデータだけにアクセスします。

02

CSV取込

PayPay、JCB、VISAなどの形式を判定し、取込結果とエラー行を表示します。

03

個人ダッシュボード

月間支出、前月比、カテゴリ別割合、全体平均との差を確認します。

04

月次レポート・明細

支出の推移、改善の手掛かり、取込済みの自分の明細を確認します。

管理者

A

全体集計

匿名化された集計結果と、利用状況を確認します。

B

取込状況・エラー

生明細を見ずに、処理件数と原因ファイルを確認します。

画面には必要な情報だけを表示し、他人の生明細を横並びで比較しない構成です。

開発内容

担当範囲

  • サービス方針と機能要件の整理
  • 一般利用者・管理者の画面設計
  • CSV正規化と重複判定の設計
  • DynamoDBのデータ設計
  • AWS構成と権限制御の設計

技術スタック

画面
Next.js / JavaScript / Tailwind CSS
処理
Python / AWS Lambda / API Gateway
認証
Amazon Cognito
データ
DynamoDB / S3一時領域
インフラ
CloudFront / Terraform(追加開発予定)

開発背景

当初は個人用の家計簿と通知メールからの自動取得を検討していました。しかし、取得できる情報の品質が安定しないため、正確なCSVを利用者が任意に取り込む方式へ変更しました。さらに、個人の集計だけでなく、匿名の集団平均との差から支出を振り返れるサービスへ要件を更新しました。

工夫した点

CSV形式の違いを正規化し、一部の行が失敗しても成功した行は集計できる設計です。原本CSVは保存せず、必要最小限の正規化データだけを保持します。管理者にも個人の生明細を見せず、権限と表示内容の両方で個人情報を守ります。

成果物