【個人開発】これまでになかったデート体験共有アプリ「マッチシェア」を開発した話

## はじめに
こんにちは、[@natsuya_IT](https://x.com/natsuya_IT)と申します。

最近、デート体験を共有するアプリ **「マッチシェア」** を開発しました。



https://matching-share-introduction.vercel.app/

![画面収録 2024-05-23 0.40.27.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/689520/2d96ec1d-d43a-1548-673e-7502661bcdf7.gif)



マッチシェアはマッチングアプリで出会った人とのデート体験を共有するアプリです。

## 開発に至った経緯

### 課題

僕たちは、数多くのマッチングアプリが存在する中で**マッチングアプリを使用しているユーザーが実際にどんな出会いやデートをしているかまではを知ることができない**という課題に着目しました。

一般的なマッチングアプリでは、マッチングが成立した後のコミュニケーションや実際のデートの様子はユーザーにとって非公開であり、他のユーザーとの共有が困難でした。

### 課題解決のためにとったアプローチ

上記の課題から、ユーザーが実際に体験した出会いやデートの様子を知ることで、よりリアルな出会いのイメージを持つことができると考えました。
また、他のユーザーとの共感や情報共有を通じて、新たな出会いやデートのアイデアを得ることができるのではないかという期待もありました。


上記の課題を解決するために、僕たちは、**ユーザーがマッチングアプリでの出会いやデート体験を共有できるプラットフォーム**「マッチシェア」を開発することを決めました。



## 開発メンバー

クライアントサイド　＝＞　僕　[@natsuya_IT](https://x.com/natsuya_IT)　🦜
サーバーサイド　　　＝＞　ラビットプログラム　[@Rabbit_Program](https://x.com/Rabbit_Program)　🐰

開発当初は僕一人で開発をしていたのですが、途中からサービスに興味を持ってくれた[@Rabbit_Program](https://x.com/Rabbit_Program)さんにも開発に参加して頂き、主にサーバーサイドの開発を担当して頂きました。

## 使用技術

**クライアント**
- React Native (typescript) + Expo(managed workflow)

**サーバーサイド**
- python

**DB**
- mysql

**CI/CD**
- jenkins
- github actions

**AI**
- openai



## 力を入れたポイント

### 1. ユーザー目線に立ったUI/UX

マッチシェアでは、ユーザーにとって**シンプルかつ分かりややすいUI/UX**を心がけました。以下は実際のアプリの見た目です。

| トップページ |  返信ページ  | 自己紹介ページ | 
| --- | --- | --- |
<img width="200" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/689520/4eb8f246-61a8-2ef3-ce79-ad02a26c6a26.png"> | <img width="200" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/689520/97560cb1-8a69-2180-5fce-e7aa8118d179.png"> | <img width="200" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/689520/21c9486a-5e3c-85cd-7c1d-9b5331f0f49d.png"> 



トップページ（みんなの投稿ページ）では、
- どんなユーザーが
- どのマッチングアプリを使用して
- どんな人とデートしたか

が一目で理解できるように、**デートしたユーザー同士の年齢や使用したマッチングアプリ、デートの満足度**を表示するようにしました。

各投稿の背景には使用したアプリのイメージカラーを使用することで、使用したアプリが直感的に伝わるよう心がけました。

### 2. OGP

マッチシェアでは、 **ユーザーが興味を持った・参考になった**デート体験をX等で気軽にシェアできるよう、OGP機能にも力を入れました。

下記は実際にアプリ内の投稿をXにシェアした例です。


<img width="400" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/689520/aaef542d-16cc-dad5-0a7a-ea387d31ef60.png">

マッチシェアのアプリ内だけでなく、Xなどを見ているユーザーにも色々な人のデート体験を見て頂くことで、アプリをダウンロードしていない人たちにも、色々な人の出会いの情報が届くように、OGPを表示できるようにしました。

### 3. ビルド・OTA周りの自動化

マッチシェアでは、 **React Native＋Expo(managed workflow)** で開発しています。
ビルド周りは[EAS Build](https://docs.expo.dev/build/introduction/) を使用しており、Jenkinsのジョブを使ってアプリの更新（各環境のビルドやOTAアップデート、商用へのアプリ申請）を一部自動化しています。

アプリの新機能導入やバグ改善、hotfixなどの動きに柔軟に対応できるようにすることで、安定したリリースサイクルでアプリを運用しています。


## マッチシェアのこれからの予定

### 1. リファクタリングや品質担保

「マッチシェア」は**約2ヶ月半**の期間をかけて開発し、初回リリースをしました。
クライアント・サーバー共にリファクタリングをしながら開発を進めていたとはいえ、メンテナンス性が悪い実装やリファクタ余地のある実装がまだまだ含まれています。

また、テストも完全に網羅できている訳ではないのでサービスの品質担保という点においては、まだまだ改善の余地があります。

これらの問題については、今後サービスを運営していく中で、時間を確保して改善に取り組んでいきたいと考えています。



### 2. 新機能の追加


「マッチシェア」では、今後追加したい機能がいくつかあります。
軽微なバグの修正やリファクタリングを進めるとともに、以下のような機能も段階的に開発し、アップデートを行っていきたいと考えています。

- 相手のプロフィールを閲覧することができる機能
- アンケート機能
- マッチングアプリに関するニュースをAIが選定し、ユーザーに届ける機能
- グループチャット機能

## おわりに

マッチシェアは、**たくさんの人がマッチングアプリでの出会いを共有し、みんなで出会いを語り合える場所にしたい** と考えています。

大変嬉しいことに、最近マッチシェアを利用してくれるユーザーが徐々に増えてきました。
ただ、出会いを共有するという感覚はあまり世の中に浸透しておらず、実際に多くのユーザーに利用してもらうためにはまだまだ解決すべき課題はたくさんあります。

今後もユーザーのフィードバックを取り入れながら、さらなる改善や新機能の追加に取り組み、より多くの人々に出会いを共有できる場所を提供していくことを目指していきたいと考えています。


## 🦜マッチシェアアプリのダウンロードはこちらから🐰


[マッチシェア iOS](https://apps.apple.com/jp/app/%E3%83%9E%E3%83%83%E3%83%81%E3%82%B7%E3%82%A7%E3%82%A2-%E3%83%9E%E3%83%83%E3%83%81%E3%83%B3%E3%82%B0%E3%82%A2%E3%83%97%E3%83%AA%E5%B0%82%E7%94%A8%E3%81%AEsns/id6468022331)

[マッチシェア Android](https://play.google.com/store/apps/details?id=com.matchingShare.matchingShare&pli=1)