整理整頓SaaS 開発日記(Version 1 ~ Version 63.5)

プロジェクトの始まり

このプロジェクトは、「家の中に何があるのか分からない」という日常の課題から始まった。

目的は単純だった。

「家のどこに何があるかを、AIに聞けばすぐ分かる世界を作りたい。」

最初は市販ソフトを探したが、求めるものは存在しなかった。

そこで、

自分で作る。

という決断をした。


第一世代

Googleスプレッドシート版

最初のシステムはGoogleスプレッドシートだった。

当初は

  • クローゼット
  • 黒ファイル
  • 箪笥上
  • 机上

など場所ごとに管理していた。

しかし問題があった。

・檢索できない

・場所ごとに形式が違う

・管理しづらい

・番号管理が煩雑




台帳という考え方

そこで設計を根本から変更した。

場所ごとではなく

一つの巨大な台帳

で管理する。

そこへ

  • 保管場所
  • 分類
  • 状態

を紐付ける。

これが現在まで続く基本設計になった。


Apps Script版

Google Apps ScriptでWebアプリ化。

ここから急激に進化した。

実装されたものは

  • 家財一覧
  • 檢索
  • 追加
  • 編集
  • 削除
  • 保管場所管理
  • 分類管理
  • 状態管理

自動採番

新しいマスタを作るたび

C-01

C-02

…

を自動生成。


欠番管理

物が無くなったマスタ番号は欠番に。

新しい物が来たら欠番を再利用。


履歴管理

さらに

「元に戻したい」

という要望から

履歴システムを開発。


タイムトラベル

履歴をツリー化し

好きな時点へ戻せる

タイムトラベル機能を実装。


一括登録

大量登録にも対応。

例えば

LANケーブル 5

HDMIケーブル 3

USBケーブル 10

を貼り付けるだけで登録可能になった。


PWA化

スマホのホーム画面へ追加。

アプリのように利用できるようになった。


閲覧専用モード

お母様が誤操作しないよう

閲覧専用モードを実装。


本格SaaSへの決断

Apps Script版は便利だった。

しかし

  • 家族共有
  • 商用販売
  • マルチユーザー
  • ライセンス販売

には向かなかった。

そこで

ゼロからSaaS版を作る

決断をした。


技術選定

最終的に採用した技術は

Frontend

  • Next.js
  • React
  • TypeScript
  • TailwindCSS

Backend

  • Supabase

Database

  • PostgreSQL

Hosting

  • Vercel

SaaS設計

最初に設計したのは

「誰のデータか」

だった。

そのため

テナント

世帯単位

を作った。

さらに

台帳を

テナント配下に置く。

つまり

世帯

↓

台帳

↓

家財

という構造になった。


Version55

Next.js初期化。

Supabase接続。

Git構築。


Version56

データベース設計。

約11テーブルを設計。

  • users
  • tenants
  • tenant_members
  • ledgers
  • assets
  • places
  • categories
  • statuses
  • item_history
  • asset_types
  • license_keys

Version57

認証実装。

Googleログイン

Magic Link

セッション管理

AuthProvider


Version58

世帯機能。

世帯作成

メンバー

招待

ロール

OWNER

EDITOR

VIEWER


Version59

台帳管理。

一つの世帯で

複数台帳。

並び替え。

有効無効。

自動マスタ生成。


Version60

最重要機能。

家財管理。

CRUD完成。

その場マスタ追加。

部分一致檢索。

履歴保存。


Version61

商用化。

ライセンスキー。

Lite

Family

Pro

台帳数制限。

人数制限。

期限管理。


Version62

MVP総合試験。

認証。

権限。

CRUD。

檢索。

ライセンス。

すべて檢証。

結果

条件付きGo


Version63

セキュリティ監査。

RLS導入。

他テナント完全遮断。

権限をDB側で強制。

LocalStorage偽装対策。


Version63.5

さらに強化。

UUID直書き招待を廃止。

ワンタイム招待。

期限付き。

失効可能。

RPC導入。

ライセンス更新も

データベーストランザクション化。

商用サービスとして十分な安全性を備えた。


現在

ここまでで

MVPは完成した。

現在は

  • ログイン
  • 家族共有
  • 世帯
  • 台帳
  • 家財管理
  • 檢索
  • 履歴
  • ライセンス
  • セキュリティ

まで実装濟みである。


次の目標

Version64では

品質向上に集中する。

  • UI改善
  • スマホ最適化
  • PWA
  • オンボーディング
  • スケルトン表示
  • エラーメッセージ改善
  • 同時編集テスト
  • 大量データテスト
  • マルチブラウザテスト

を行い、本番公開できる品質まで仕上げる。

その後、

  • AI自然言語檢索
  • OCR
  • 写真管理
  • PDF管理
  • QRコード
  • AI整理アシスタント

など、整理整頓をさらに便利にする付加価値機能を実装していく予定である。


このプロジェクトで大切にしてきたこと

このプロジェクトは、単に機能を増やすことを目的とはしていない。

「家の中の物を誰でも迷わず管理できること」、そして**「家族全員が安心して使えること」**を第一に考えながら、一歩ずつ設計と実装を積み重ねてきた。

Apps Scriptで始まった小さな家財管理ツールは、現在ではマルチテナント対応・権限管理・ライセンス管理・RLSによるデータ分離を備えた、商用SaaSとして公開できる基盤へと成長した。

ここから先は、新機能を急ぐ段階ではなく、「安心して長く使えるサービス」として磨き上げる段階である。そしてその土台の上に、AIを活用した檢索や整理支援など、日々の暮らしをより便利にする機能を積み重ねていく。これが「整理整頓SaaS」プロジェクトの目指す姿である。