はじめまして、Hayatoと申します。
実は以前から、Xなどでは別プロジェクト(Linuxディストロ開発)などをしていましたが、
最近、チャットアプリを作ったので記事にしようかなと思います。
作ったチャットアプリ↓
https://wavechat.f5.si/

※一応WAVE SNS GROUPという名前を名乗っていますが、現状個人開発です
作った経緯
このチャットアプリの開発を始めたのは、たしか6月ごろだったと思います。
実は以前にも別のチャットアプリを作っていて、そちらは2024年1月ごろに開発していた記憶があります。
今回、改めてチャットアプリを作ろうと思った理由は、大きく3つあります。
1.LI○Eなどをやっていない友達と気軽に連絡を取るため
自己紹介にも書いている通り、自分は現在中学生です。
学校では一応、応援団の副団長をやっています。
団員は10人弱いるのですが、その中で相方の副団員であるA君だけ、普段使っている連絡手段がありませんでした。
「じゃあ、自分で連絡手段を作ればいいじゃん」
という脳筋すぎる考えで、開発を始めました。
2.自分の思い通りのチャットアプリが欲しかった
LI○Eだと、1端末しかログインできないとか、「ちょっとした不満」が多いので、
自分の思い通りのチャットアプリが欲しかったんです。
3.現実逃避
受験勉強から逃げたいんだよぉぉぉぉぉぉぉぉぉぉぉぉぉ
機能紹介
-
チャット機能
- 個人・グループチャットに対応。グループではチャンネルで分けることができます。
-
通話機能
- 音声・ビデオ通話に対応。画面共有やパーティー機能(Youtube同時視聴)などに対応。
-
ストーリー機能
- インスタみたいな感じで、ストーリーを上げれます。(設定でオフにもできます)
-
LI○Eトーク履歴移行機能
- アプリからDLしたtxt形式のトークファイルをチャットに読み込ませることができます。
-
メッセージAI判定機能
- 「WISE(Wave Chat Inteligent Safety Engine) ENGINE」といいます。
(なぜ最後にENGINEをつけるかっていうと、商標対策です) - メッセージにネットいじめなどにつながるような内容が含まれていると、自動的に送信をブロックします。
- 「WISE(Wave Chat Inteligent Safety Engine) ENGINE」といいます。
-
ミュート・時間指定
- ミュートでメッセージを送ったり、時間指定で通知を送信できます。
-
ペアレンタルコントロール
- 表示するメッセージ・画像・使用時間をコントロールできます。
「WISE ENGINE」について詳しく解説
前述の通り、WISEは「Wave Chat Inteligent Safety Engine」の略です。
GroqのAPIを使用し、メッセージ文のみを送って判定を行なっています。
メッセージに問題があると判断した場合は、深呼吸を促すメッセージを表示したあとに、
送信するか取り消すかを選択させます。
ここで送信を行った場合は、管理者がメッセージを確認し、問題ないメッセージは送信されます。
(この内容については、ログイン時に同意を求め、利用規約にも記載を行なっています。)
電気通信事業の届出は出してるの?
A.当然ですが提出済み・通過済みです。
僕の場合はe-govより提出後に電話で「住民票を送って」という指示が来たので、住民票をおくりました。
だいたい1週間ちょっとで審査通りました。
アプリの仕組み
仕組み自体は全てPHPとJavascriptで動いています。
保存はMySQLです
(本当はNo SQLの方がいいっぽいですが、サーバーが対応していないのでMyの方です)

電気通信事業届出の際に提出した書類
ざっくりな仕組みはこれです。
もっと詳しく説明すると、ユーザーからメッセージが送信されると、一度AIが確認を行います。
判定にクリアしたら、サーバーに暗号化・保存されます。
読み込む際は、暗号化したメッセージを元に戻して表示される仕組みです。
(基本的にメッセージ含め全ての内容が暗号化されて保存されています)
使用API・ツール
WaveChatは以下の外部サービス・APIを利用して機能を提供しています。
Cloudflare
QRコードの読み込みなどで使用しています。
Groq
前述の通り、WISE ENGINEの処理用AIとしてメッセージの前後を匿名で送信し、判定を行なっています。
OpenRelay TURN API
WebRTCの通話機能で使うTURNサーバーです。
Web Push API(VAPID)
Webアプリなどで使う場合に通知を送信するために使用してます。
Claude
流石にこのアプリ内容を全て自分だけで作るのは厳しいので、
AIに助けを借りて作ってます。
一人だけだと、さすがに、これを一人で作れるほどの知識はありませんし、
時間もかかってしまいます...
最後に
登録・使用無料で、メールアドレスの登録も不要です!
(2段階認証・パスワードリセットなどを使用する場合はメアド登録が必要です)
「こんな機能が欲しかった!」と思ってもらえるようなチャットアプリを目指して、これからも少しずつアップデートしていく予定です。
アクセスするだけで使用でき、Webアプリとしても使えるので、
是非使ってみてください!!!
※この内容は「Zenn」にも投稿しています。
https://zenn.dev/wavehayato/articles/0df2ff6b4f37c5