JST --:--:--

Once Kept

ホーム在庫アプリ

持ち物すべてを検索できるリストに変える、iPhone・Android向けのアプリです。写真を撮って置き場所を記録すれば、数秒でまた見つけられます。

サイトを見る arrow_outward
Once Kept website homepage in a desktop browser
9:41
Once Kept app showing an item page on a phone
課題

どの家にも、物が行方不明になりがちな引き出しや箱、棚があります。ケーブルや書類、思い出の品が必要になると、結局すべてを探し回ることになります。

主な特長

9:41
Once Kept camera screen photographing a passport
1

写真を撮るだけ

リストを手入力する必要はありません。アプリが写真を見て名前を提案し、あなた自身のカテゴリに振り分けます。

9:41
Once Kept item page for car keys kept in the bedroom
2

置き場所を正確に記録

アイテムごとに部屋・カテゴリ・「上から3段目の引き出し」のようなメモを残せます。「車の鍵」と入力すれば、すぐに答えがわかります。

9:41
Once Kept documents sorted by room
3

部屋ごとにすっきり整理

アイテムは置き場所ごとにまとまり、カテゴリやアイコンも自由に設定できます。ホーム画面から名前・カテゴリ・場所で検索できます。

暮らしにとって変わること

数秒で見つかる

「あれ、どこに置いたっけ?」に、引き出しをすべて探さなくてもすぐ答えが出ます。

家族で共有

短い招待コードで家族を招待でき、iPhoneでもAndroidでも、共有の物の置き場所を全員で把握できます。

プライバシーを最優先

写真は暗号化して保存され、プライベートに設定したアイテムは共有相手にも表示されません。

プロジェクト概要

プロダクト
iPhone・Android向けのホームインベントリアプリ、Once Kept。
担当
モバイルアプリ、バックエンド、ウェブサイトのプロダクトデザインと開発を担当しました。
納品したもの
  • iPhone・Android両対応のアプリ
  • 写真から名前を付け、カテゴリを提案するAI
  • 部屋・カテゴリ・メモ・検索
  • 短い招待コードでの家族共有
  • 写真の暗号化保存と非公開アイテム
  • App Store・Google Playで課金するサブスクリプション
  • 料金・プライバシー・利用規約のページを備えたウェブサイト

アプリやウェブアプリのアイデアをお持ちですか?フリーランスのデザイナー兼開発者(英語のページ)として、このようなプロダクトを最初から最後まで制作しています。

開発者向けの技術情報

使用技術・アーキテクチャ・作り方について。

スタック

フロントエンド
React Native Expo SDK 52 TypeScript React Navigation v7 React Context API
バックエンド
Python Flask Gemini 2.5 Flash via OpenRouter Pillow
インフラ
Google Cloud Run Supabase PostgreSQL Row Level Security Google OAuth2
決済・セキュリティ
RevenueCat AES-256-GCM JWT Sessions

アーキテクチャ

psychology

AIによる写真の分類

写真はFlaskバックエンドで小さなJPEGに変換され、OpenRouter経由でGemini 2.5 Flashに送られます。モデルは厳密なJSONで、1〜3語のシンプルな名前と、ユーザー自身のカテゴリ一覧が送られた場合はその中から最も合うものを返します。一覧にないカテゴリが提案された場合は、無理に当てはめず新しいカテゴリとして提案します。エンドポイントにはレート制限をかけています。

lock

エンドツーエンドの写真暗号化

すべての画像はデータベースに保存される前にAES-256-GCMで暗号化されます。IV・暗号文・認証タグをバイナリとして保存。暗号化キーはサーバー外に出ることはなく、直接データベースにアクセスしても画像は読めません。写真は表示時のみ復号されます。

group

家族での共有

6文字の招待コード(有効期限10分)で家族グループに参加できます。役割はホスト・管理者・メンバーの3つです。アイテムごとに非公開に設定でき、Row Level SecurityによりDBクエリのレベルでほかのメンバーから見えなくなります。

技術的なポイント

subscriptions

RevenueCatサブスクリプション

アイテム数と人数で区切った3つのプラン(Free・Standard・Family)。課金はRevenueCat経由でApp StoreとGoogle Playが処理するため、独自の決済基盤は不要です。

devices

クロスプラットフォーム

1つのコードベースでiOSとAndroidの両方をExpoで配信。カメラ挙動・ジェスチャー操作・ぼかしエフェクトなど、プラットフォーム固有のネイティブAPIに対応しています。

shield

プライバシーファースト

Row Level SecurityをSupabaseレイヤーで強制適用。アカウント削除時にはすべてのユーザーデータが一括削除されます。プライベートアイテムはUIだけでなくクエリレベルで非表示にします。

このようなプロジェクトをお考えですか?

アプリやウェブアプリを、最初のアイデアからリリースまでデザイン・開発しています。