Skip to content
jphacksPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

よいのこ

今日の「よいこと」が、明日のこの子を育てる。

日常の小さな「よいこと」を記録して、キャラクターを育てるアプリ。

サムネイル

Demo

以下はアプリのデモ動画です

2026-10-25.19-25-21.mov

製品概要

背景(製品開発のきっかけ、課題等)

私たちは、日常の小さな「よいこと」が積み重なることで、社会全体をより良い方向へ変えていけるのではないかと考えました。

現代社会では、人と人との関わりが希薄になりつつあると感じる場面や、自分自身の生活に精一杯で、周囲に目を向ける余裕を持てない場面があります。しかし、誰かに親切にする、感謝を伝える、身近な環境をきれいにするといった小さな行動でも、その積み重ねは周囲の人々や環境に良い影響を与えるはずです。

一方で、「よいこと」をする大切さを理解していても、毎日意識して実践し続けることは簡単ではありません。

そこで私たちは、「よいこと」を義務として捉えるのではなく、楽しみながら自然と取り組みたくなる仕組みを作りたいと考えました。

「よいのこ」は、日常の「よいこと」をキャラクターの育成というゲーム体験に結びつけることで、自発的な行動を促し、小さな行動の積み重ねからより良い社会を目指すアプリです。

製品説明(具体的な製品の説明)

「よいのこ」は、日常生活で行った「よいこと」を記録することで、オリジナルキャラクターを育成できるスマホアプリです。

ユーザーが「よいこと」を文章で投稿すると、AIが投稿内容を分析し、7種類の属性の中から最も適切なものを判定します。投稿に応じて経験値(XP)と属性ポイントを獲得し、キャラクターが成長していきます。

キャラクターは初期形態から2段階にわたって進化し、ユーザーが積み重ねた「よいこと」の属性に応じて異なる姿になります。現在は以下の第一進化7種類、最終進化49種類を想定しています。

キャラの種類 キャラの種類

また、投稿内容に応じてAIが褒め言葉を生成し、育成中のキャラクターがユーザーの行動を褒めてくれます。

最終進化したキャラクターとはその日いっぱい一緒に過ごすことができ、翌日から新たなキャラクターの育成が始まります。過去に育てたキャラクターは「歴代図鑑」に保存され、一緒に積み重ねてきた「よいこと」の記録とともに、いつでも振り返ることができます。

特長

1. 自分の「よいこと」で進化先が変わるキャラクター育成

「よいのこ」の最大の特徴は、ユーザー自身の行動がキャラクターの進化先を決めることです。

投稿された「よいこと」は、AIによって次の7種類の属性に分類されます。

  • 思いやり
  • 環境保全
  • 感謝
  • 勇気
  • 協力
  • セルフケア
  • 誠実

獲得した属性ポイントの傾向に応じて進化先が変化します。第二進化では初期形態から蓄積した属性ポイントを参照し、第一進化と第二進化の組み合わせによって、49種類の進化パターンを生み出します。

また、7種類の属性ポイントは具体的な数値として確認できるため、ユーザーは自分がどのような「よいこと」を積み重ねてきたのかを把握できます。

単に経験値を貯めるだけではなく、自分自身の行動がキャラクターの姿に反映されることで、育成への愛着と達成感を生み出すことを目指しています。

2. 「よいこと」の積み重ねを振り返る歴代図鑑

最終進化を迎えたキャラクターは、育成終了後も「歴代図鑑」に保存されます。

図鑑には歴代のキャラクターが世代ごとに表示され、それぞれの詳細画面で、育成期間、累計XP、投稿件数、そのキャラクターと一緒に行った「よいこと」、AIからの褒め言葉などを確認できます。

これにより、図鑑は単なるキャラクターのコレクションではなく、自分が積み重ねてきた「よいこと」の思い出を残す場所になります。

新しいキャラクターを育てる楽しさに加えて、自分自身の行動の積み重ねを目に見える形で振り返れることが、継続するモチベーションにつながると考えています。

3. AIによる個別の褒め言葉と、継続を支える経験値システム

「よいこと」を投稿すると、AIがその内容を理解し、投稿ごとに異なる褒め言葉を生成します。

あらかじめ決められた定型文ではなく、一人ひとりの行動に合わせてキャラクターが褒めてくれることで、自分の行動が認められる体験を提供します。

経験値システムは以下のように設計しています。

  • 1投稿につき10 XPを獲得
  • 1投稿につき該当属性のポイントを1獲得
  • 1日の獲得上限は50 XP、属性ポイントは合計5ポイント
  • 上限到達後も「よいこと」の投稿と記録は可能
  • 上限到達後もキャラクターによる褒め言葉を受け取れる

また、AIが投稿内容を「よいこと」に該当しないと判断した場合は、XPや属性ポイントを付与せず、記録のみ保存します。判定に納得できない場合は、投稿文章を編集・上書きして再判定を受けることもできます。

経験値の獲得だけを目的にするのではなく、日々の小さな行動を継続すること自体を大切にした設計です。

解決出来ること

「よいのこ」は、「よいこと」をしたいと思っていても、実際の行動や習慣につなげることが難しいという課題の解決を目指しています。

従来、日常の小さな親切や思いやりは、その場限りの出来事として忘れられてしまうことも少なくありません。また、その行動が誰かに評価されるとは限らず、継続するための明確なモチベーションを得にくい場合もあります。

そこで「よいのこ」は、「よいこと」を記録する行為にキャラクターの成長という報酬を結びつけ、自分の行動が目に見える形で積み重なる体験を提供します。

さらに、AIからの褒め言葉によって一つひとつの行動を肯定し、歴代図鑑によって過去の取り組みを振り返ることができます。

こうした仕組みを通じて、「よいこと」をすることへの心理的なハードルを下げ、楽しさや達成感をきっかけとした行動の継続を促します。

一人ひとりの小さな行動が積み重なり、周囲の人々や環境に良い影響が広がっていくことを目指しています。

今後の展望

今後は、主に以下の2つの方向で機能を拡張していきたいと考えています。

キャラクターの種類の拡充

現在想定している49種類の最終進化に加えて、さらに多くのキャラクターを実装したいと考えています。同じ属性の組み合わせでも異なる進化先が生まれるようにすることで、進化結果を予想する楽しさや、新しいキャラクターと出会う楽しさを高めていきます。

SNS機能の追加

現在は自分自身の「よいこと」を記録する個人向けのアプリですが、将来的にはSNS機能の導入も検討しています。

他のユーザーとの交流を通じて、「よいこと」をする楽しさやモチベーションを共有できる仕組みを作り、一人ひとりの小さな行動がさらに広がっていくことを目指します。

注力したこと(こだわり等)

1. AIによる内容判定と分岐進化システムの設計

技術面では、AIによる投稿内容の判定・属性分類と、その結果を利用したキャラクターの成長・進化システムの設計に注力しています。

自然言語で入力された「よいこと」をAIが判定し、属性ポイントへ変換することで、現実世界での行動をゲーム内の成長へと結びつけています。

さらに、蓄積された属性ポイントの組み合わせによってキャラクターの進化先が変化する仕組みを設計し、ユーザーごとに異なる育成体験を生み出すことを目指しています。

2. 行動を継続したくなるユーザー体験の設計

ユーザー体験では、単に「よいこと」を記録するだけで終わらせず、その行動を達成感につなげることを特に重視しています。

キャラクターの成長によって自分の行動を可視化し、進化や図鑑の収集という楽しさを生み出すことで、「もっとよいことをしたい」という気持ちを自然に引き出す設計を目指しました。

また、経験値の上限に達した後も投稿や褒め言葉の機能を利用できるようにすることで、ゲーム内の報酬だけに依存しない継続体験を大切にしています。

開発技術

活用した技術

API・データ

  • Google Gemini API:投稿内容の「よいこと」判定、7属性への分類、内容に応じた褒め言葉の生成
  • Supabase(PostgreSQL):ユーザー情報、キャラクターの育成状態、属性ポイント、投稿履歴、歴代図鑑データの管理
  • REST API / HTTP:Flutterアプリとバックエンドの連携

フレームワーク・ライブラリ・モジュール

分類 技術 主な用途
フロントエンド Flutter / Dart iOSアプリの画面・操作の実装
UI Flutter Widgets / Material Design 3 画面コンポーネントの構築
状態管理 Riverpod(flutter_riverpod) 育成状態・画面状態の管理
画面遷移 go_router 画面間のルーティング
アニメーション flutter_animate / AnimationController 画面やキャラクターの演出
通信 supabase_flutter / HTTP API データ操作とバックエンド連携
バックエンド Node.js / Express / TypeScript API・ゲームロジックの実装
データベース Supabase / PostgreSQL 育成・投稿データの永続化
生成AI Google Gemini API 投稿判定・属性分類・褒め言葉生成

デバイス

  • 対応:iOS(iPhone)・Android
  • 開発環境:Mac、Visual Studio Code、Xcode、Android Studio

また、ゲーム開始時にはメールアドレス等の登録を必須とせず、後から設定画面で重複しないIDとパスワードによる引き継ぎ設定を行える方式を予定しています。端末内保存とサーバー保存の具体的な分担は検討中です。

独自技術

ハッカソンで開発した独自機能・技術

1. AIによる「よいこと」の判定・属性分類

ユーザーが自然言語で入力した「よいこと」をAIが分析し、投稿内容の該当性を判定したうえで、7種類の属性の中から最も適切な属性を選択する仕組みを開発しています。

この判定結果を経験値・属性ポイント管理と連携させることで、日常の行動をキャラクター育成へと反映させます。

2. 属性ポイントに応じた分岐進化システム

ユーザーが投稿した「よいこと」の属性ポイントを蓄積し、その傾向に応じて進化先を決定するシステムを設計しています。

第一進化7種類と、第二進化での7属性の組み合わせによって、49種類の進化パターンを実現することを目指しています。

また、キャラクターの育成が完了すると、新しいキャラクターの経験値と属性ポイントをリセットしながら、過去の育成情報を図鑑に保存する仕組みを設計しています。

3. AIによる個別フィードバック生成

投稿内容をAIが分析し、育成中のキャラクターからユーザーへ、一つひとつの「よいこと」に合わせた褒め言葉を生成する機能を開発しています。

この仕組みによって、固定されたメッセージでは得られない個別性のあるフィードバックを提供し、継続的な利用を促すことを目指しています。

4. 「よいのこ」とのお散歩

Android版のみの実装ですが、アプリを閉じても育てた「よいのこ」が画面内を移動するようにしました。

特に力を入れた実装箇所

  • AIによる判定・属性分類処理:32c8248
  • XP・属性ポイント・進化判定ロジック:32c8248
  • 歴代図鑑と投稿履歴の管理:32c8248
  • AIによる褒め言葉生成:32c8248
  • キャラごとに違うコメント:c95c9ef
  • 「よいのこ」とのお出かけ機能:234620d

「よいのこ」が目指しているのは、「よいこと」を評価されるための義務にするのではなく、自分が少しだけ周囲や自分自身を大切にしたくなるきっかけを増やすことです。今日の小さな行動がこの子を育て、その成長が明日の新しい行動につながる。そんな循環をつくりたいと考えています。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

Generated from jphacks/JP_sample