Finoko

フィノコ

こどもとつくる、おかねのまなび

小中学生(6〜15歳)向けの「タスク × お小遣い × 金融学習」ファミリーアプリ。子どもが家のお手伝いを報告し、保護者が承認すると残高が増える。貯めたお小遣いは「つかう」「あげる」ことができ、クイズや疑似投資でお金の感覚を楽しく学べます。企画から設計・開発・運用・課金まで、すべてを一人で担当している自社サービスです。

種別
自社サービス
期間
2026年 〜 現在
Status
稼働中・一般公開
Finoko の保護者画面。承認待ちタスクの一覧
Finoko の子ども画面。今日のタスク一覧と「わたしがやる!」ボタン
担当範囲
  • 企画
  • UI/UX 設計
  • フロントエンド
  • バックエンド
  • インフラ
  • 運用
  • 課金設計

About

Finoko はどんなアプリか

Finoko(フィノコ)は、6〜15 歳の小中学生と保護者のための「お手伝い × お小遣い × 金融教育」アプリです。子どもはスマホやタブレットから「ゴミ出し」「くつをそろえる」といった家のお手伝いを報告し、保護者が承認するとお小遣いの残高に反映されます。写真付きの報告、早い者勝ちの「ゲリラ」タスク、毎日・毎週の繰り返しタスクなど、家庭のルールに合わせて設定できます。

お小遣い管理アプリとしての基本機能(残高・履歴・つかう申請・きょうだいに「あげる」)に加えて、お金のクイズや「とうし」(株式・インデックスの疑似投資)で、子どもが遊びながら金融リテラシーを身につけられるのが特徴です。低学年にはひらがな表記で表示され、達成時のアニメーションや連続達成の記録で「続けたくなる」体験を作っています。

リビングのタブレットを家族共有端末にする「ファミリーモード」、報告・承認の Web Push 通知、Google アカウントでのログイン、ホーム画面に追加して使える PWA 対応。基本機能は無料で、Premium プラン(Stripe によるサブスクリプション)で上位機能を提供しています。企画・UI 設計・開発・運用・課金・法務ページの整備まで、すべて一人で行っている自社サービスです。

Finoko 公式サイト で実際にお使いいただけます。

Features

主な機能

「親が挫折しない」「子どもが飽きない」を設計思想に、機能はシンプルに、体験は楽しく。

タスク → 承認 → 残高

子どもが「やった!」を報告し、保護者が承認すると残高に反映。写真付きの報告や、早い者勝ちの「ゲリラ」タスクにも対応。

つかう・あげる

貯めたお小遣いを申請して使う、きょうだいにあげる。お金の流れが履歴として残り、親子で振り返れます。

クイズと「とうし」

お金のクイズや疑似投資で金融リテラシーを育てる。学年に合わせてひらがな表記に切り替わります。

ファミリーモード

リビングのタブレットを家族共有端末に。PIN ロックで保護者画面を守りつつ、子どもは自分のアバターで切り替え。

Push 通知とリアルタイム

報告・承認・お知らせを Web Push で通知。Supabase Realtime で画面は即時に更新されます。

セキュリティと課金

RLS を軸にしたデータ分離、CSP の enforce、Stripe による Premium プラン。特商法・利用規約・プライバシーポリシーも整備。

Screens

画面

子ども画面と保護者画面。学年に合わせて、低学年にはひらがな表記で表示されます。

  • Finoko の子ども画面。今日のタスク一覧
    子ども画面 — 今日のタスク。早い者勝ちの「ゲリラ」タスクも
  • Finoko の保護者画面。承認待ちタスクの一覧
    保護者画面 — 写真付きの報告をまとめて承認
  • Finoko の子ども画面。とうし(疑似投資)
    子ども画面 — 「とうし」で株式・インデックスの感覚を学ぶ
  • Finoko の子ども画面。お金のクイズ
    子ども画面 — お金のクイズで金融リテラシーを身につける
  • Finoko の子ども画面。お小遣いの履歴
    子ども画面 — 残高と履歴。使った・もらった・あげた、が見える
  • Finoko の保護者画面。タスク作成
    保護者画面 — 繰り返し・報酬・対象の子を設定してタスクを作成

Stack

技術構成

ランニング費用を抑えるため、サーバーレス前提で Nuxt + Supabase + Cloudflare を選定。

フロントエンド
Nuxt 4Vue 3TypeScriptNuxt UI 4Tailwind CSS v4Pinia
バックエンド
Supabase (PostgreSQL / RLS / Realtime / Storage)Edge Functions (Deno)pg_cron
インフラ・配信
Cloudflare PagesPWA (Web Push / VAPID)Google OAuth
課金・品質
Stripe (サブスクリプション)Vitest 137 件Playwright E2E 153 件CSP / セキュリティヘッダー

Approach

設計と運用で工夫したこと

  1. 01

    「親が挫折しない」設計

    設定項目は最小限にし、詳細は「する / しない」トグルの後に展開。初期設定はステップ式のウィザードにして、家族全員が数分で使い始められるようにしました。

  2. 02

    ランニング費用を限りなく抑える

    サーバーを持たない構成(静的配信 + マネージド DB + Edge Functions)を選び、画像の WebP 化とバンドル最適化、履歴の保持期間設計、通知処理のサーバーレス化などで、利用者が増えても固定費がほぼ増えない形にしています。

  3. 03

    品質を落とさず一人で回す

    単体テストと E2E テスト(計 290 件)を整備し、dev / prod の 2 環境で Supabase を運用。PR ベースのワークフローで本番への影響を最小限にしています。

Tech notes

技術解説

家族向けアプリを一人で作って運用し続けるために選んだ構成と、その理由。

Nuxt 4 の SPA + Cloudflare Pages

ログイン後の画面が中心のアプリなので SSR は使わず、Nuxt 4 を SPA モードでビルドして Cloudflare Pages から配信。アイコンはクライアントバンドルに焼き込み、オフラインでも表示が崩れないようにしています。

Supabase の RLS で家族ごとにデータを分離

PostgreSQL の Row Level Security を軸に、家族(family)単位でデータを分離。残高更新などの重要な処理は RPC 関数にまとめ、クライアントから直接テーブルを書き換えられない設計にしています。Realtime で承認の結果が子どもの画面に即時反映されます。

Web Push 通知と Edge Functions

通知テーブルへの INSERT を Database Webhook が拾い、Deno の Edge Function から VAPID で Web Push を送信。サーバーを常駐させずに通知を届けています。定期処理は pg_cron で実行。

Stripe によるサブスクリプション課金

Checkout と Webhook(checkout.session.completed / customer.subscription.*)で契約状態を同期。特定商取引法に基づく表記・利用規約・プライバシーポリシーを整備し、法務レビューを経て課金を開始しました。

テストとセキュリティ

Vitest による単体テスト 137 件、Playwright による E2E テスト 153 件を整備。CSP(Content Security Policy)は Report-Only で違反を実測してから enforce に切り替え、X-Frame-Options などのセキュリティヘッダーも Worker 側で付与しています。

ランニング費用を抑える設計

静的配信 + マネージド DB + サーバーレス関数の構成で、常時稼働のサーバーを持ちません。画像は WebP 化し、履歴の保持期間を設計してストレージの増加を抑制。利用者が増えても固定費がほぼ増えない形にしています。

同じような構成で Web サービスを作りたい方は Web・SaaS 開発サービス をご覧ください。

FAQ

Finoko(フィノコ)についてよくある質問

読み方、料金、対象年齢、対応端末など。

自社サービスや業務アプリを、一人で回せる形で。

企画から運用までを小さなチームで回すための設計・技術選定も含めてご相談ください。

相談する