お悩み相談プラットフォーム『Sereni』作ってみた by Remix + Litestream
趣旨
この度、お悩み相談プラットフォーム ”Sereni” をリリースしました!!
本記事では、本サイトのミッションや使い方を紹介していきます!
Sereniとは?
”心の荷物を言葉にできる場所”をミッションにした匿名型のコミュニケーションプラットフォームです。
”心の荷物” とは、周りの他人には伝えづらい悩みや疑問を指しています。
「ひとりで抱え込んでいる心の荷物を吐き出せる場所を作りたい」
「誰かの心の荷物に共感し、理解することで、他人に優しくなれる社会にしたい」
そういった願いのもと、Sereniは作られました
Sereniで何ができるのか?
心の荷物を言葉にできる。以上です。笑。
UIも超シンプルにしています。
なぜ作ったのか?
aboutページでは、下記の通りに記載しています。
周りの他人には伝えづらい悩みや疑問を言葉にし、分かち合い、時とともに忘れていく。
この過程を繰り返すことで、悩みや疑問とうまく付き合えるようになる。
やがて、その自信が心の余裕となり、明日を生きる勇気になり、他人に少し優しくなれる。
そんな前向きな変化を信じているから。
要するに、本サイトを通じて、心の荷物(悩みや疑問)とうまく付き合えるようになれば、自分自身、そして他者との向き合い方に対して、前向きな変化が生まれると信じているから作ったという感じです。
ここでのポイントは、”周りの他人には伝えづらい悩みや疑問を言葉にし、分かち合い、時とともに忘れていく。” の部分で、決して”解決されること”をゴールにしていないことです。
個人の感想に過ぎませんが、心の荷物(悩みや疑問)への一番の対処方法は、”忘れること” だと考えています。
なぜなの?という説明は、ちょっと長くなるので、後の章で解説します。
技術スタックとAI活用
技術スタック
- フレームワーク:Remix(フロントエンド/バックエンド)
- CDN/DNS:Cloudflare
- コンピューティング:Cloud Run
- DB:prisma + Litestream(SQLite
ポイント① リアルタイムチャット機能
一応ページリロードをしなくとも、リアルタイムでチャットできるようにしています。具体的には、SSE(サーバサイドイベント)を採用して、各スレッドごとにイベントプッシュ&リスニングするようにしています。RemixのSSE実装については、下記動画が大変参考になりました。
ポイント② Cloud Run + Litestream
コストをかけずにSQLを使いたかったので、LitestreamでSQliteを永続化することにしました。こちらは、下記の記事が大変参考になりました。
ポイント③ デザイン
デジタル庁のデザインシステムが大変参考になりました。
これからも使わせていただきます。
AI活用
Cursorを利用して、ほぼAIにコーディングしてもらいました。
AIエンジンとしては、「claude-3.5-sonnet」が一番日本語とソースコードを読み取ってくれました。
まとめ
設計~開発~デザイン~インフラ~リリース、やっと一通りできるようになりました。
AIが無きゃ無理だった。ほんとにいい時代。
本サービス、どうぞ気軽にお使いください!
そして、これからも作り続けます!
【参考】なぜ解決ではなく、忘れることがゴールなのか?
心の荷物(悩みや疑問)への一番の対処方法は、”忘れること” だと考えています。
↑に対する理由を下記でつらつら書いています。
興味ある方だけどうぞ。。
解決をゴールにしてしまうと、一時の心の荷物を解消できたとしても、どうしようもない心の荷物を背負わなければいけない時に、押しつぶされてしまうと思っています。
なぜそんなことが起こりうると考えるか?
私の答えとしては、悩みや疑問は本来答えのないものだと考えており、答えが出せるものは”課題”や”問題”に区別されると考えているからです。
例えば、”今日の晩御飯を何にするか”という問いに対しては、例え冷蔵庫に何も無くとも”外食”や”食べない”という何らかの答えが出せますし、時間の経過とともに強制的に答えが出ます。
しかし、”過干渉な親をどうにかしたい”や”生きている意味が分からない”などの問いは、答えが出ません。前者に関しては、問いが親に帰結するため、子供がいくら行動したとしても、結局は親が答えを出すことになります。しかも、時間の経過とともに強制的に答えは出ません。こちらを答えの出るものに転嫁するならば、”過干渉な親からどう逃げるか”に切り替えて、自分の考え/行為に帰結させる必要があります。後者に関しては、図書館の哲学コーナーに行けば、様々な年代の様々な学者の考え/答えが出てきます。しかし、人類の歴史を持ってしても、画一的な答えが出ていないことから、こちらも答えが出ないものになると考えます。
答えの出ないものに対して取り組むことは、心身ともに体力を使う作業だと思います。この取り組みに対して、一度無理やり答えを出したとしても、また繰り返し答えを検証し続けることになります。悩みや疑問の大きさによっては、無理やり答えを出すこともできず、ただ体力だけ使われて、結果的に押しつぶされてしまうことが考えられます。
この状況を避けるべく、私は、心の荷物(悩みや疑問)の行きつく先は”解決すること”ではなく、他人と話してスッキリするか、他のものに没頭するか、課題や問題に転化させるかして、”忘れること”だと考えます。
そのために、本サイトの目指す姿としても、心の荷物を言葉にして、分かり合って、忘れることと定義しているのです。
Discussion