概要
利用している技術
【フロント】React 18 + TypeScript + Vite。UIはTailwind CSS + shadcn/ui(Radix UI)、状態管理はTanStack Query、ルーティングはreact-router。QR/バーコードの読み取りはZXing、端末間の引き継ぎ用QR生成はreact-qr-code。
【iOSアプリ化】Capacitor 8でネイティブ化(iOS)。カメラ、ローカル通知、共有シート受信(Share Extension)、ファイル保存、他アプリ起動の各プラグインを利用。Apple Sign InとiCloud Drive同期は自作のSwiftプラグインで実装。課金はRevenueCat。
【サーバー】Supabase(認証/DB/Edge Functions・Deno)。カード画像のAI読取はEdge Function経由でVertex AI(Gemini)の東京リージョンを呼び出し。カード本体のデータはサーバーに置かず、localStorageベースの自作ローカルDBで端末内に保持。
サービスのPR点
一番こだわったのは「入力させない」ことです。スクショを撮って共有シートからモレナを選ぶだけで登録が終わります。OCRではなくAIに読み取らせているので、店ごとにレイアウトが違うポイント画面やクーポン画面にも対応できました。
もうひとつは、便利さのためにデータを預けさせないことです。会員証の情報を扱うため、端末内保存を原則にし、AIスキャンの処理も国内で完結する構成にしました。
期限管理の対象を、ポイント・クーポンから懸賞まで広げたのも特徴です。「期限を過ぎたら価値がゼロになる」ものは同じ仕組みで扱えると考えました。
今後の追加機能など
・懸賞の応募条件やメモの入力をさらに簡単にする改善
・通知タイミングの柔軟化
・Android版の検討
フィードバック募集
開発報告
開発者からのリリース報告などのコメントです
過去7日間のツイートを表示します
コメント
サービスの利用者などからのフィードバックコメントです