Prod Disco

https://github.com/yomi4486/progate-2025-11-frontend

TypeScript

React

Figma

Node.js

PostgreSQL

アイデア・作品・趣味でつながるアプリ

moto

石原佳晴

岡田舞

Soon

HIRO

推しアイデア

ひらめきやアイデアの鮮度を重要視し,リアルタイムに他の人のアイデアを見ることが出来るという点にこだわりました。

作った背景

「spark(火花)」というテーマからひらめきを連想し、生活の中のひらめいた瞬間を大事にしたいという考えから,そのアイデアを共有するアプリを開発しました。

推し技術

バックエンドをSupabaseのみで完結させる必要最低限の技術選定! Expoをハックしてやったぜ!!!!!!!EAS使ってないもんね〜〜〜〜〜

プロジェクト詳細

アプリの目的:アイデア・作品・趣味で人をつなげる。

概要:作品・アイデアへの「共感」でつながる、クリエイターや学生のための交流プラットフォームです。「自分の感性を理解してくれる相手を探したい」という声に応え、共感できる仲間探しをサポート。共感が生む化学反応をここから加速させます。

必要な機能

  • チャット機能
  • タイムライン機能(リアルタイム)
  • マッチング機能
  • ユーザー管理

技術選定

バックエンド(BaaS)

  • Supabase

コード管理・品質管理

  • GitHub
  • GitHub Actions(Prettier/ESLintによるコードルール制定)
  • GitHub Rulesetsによって万が一の際の予防線
  • Discord WebHook通知によるチームの進捗同期

フロントエンド

  • Expo(ReactNative)

インフラ(っぽいところ)

  • Supabase realtime db
  • Supabase Migration

セキュリティ

RLS(行レベルセキュリティ)

進め方で頑張ったところ

  • Figmaを用いてUIのチーム内での共有
  • アイデアを付箋感覚でどんどん書き出してFigmaで管理
  • 他の人がGit初心者だったので、教えつつも美しいコミット履歴になるようにGitのチートシート的なの作った(えらい)
  • Supabase CLIが生成してくれるDatabase型を軸にした開発を行い、型安全な開発を心がけてきた(執筆時点でany使用箇所0)
  • 可能な限りトイルの撲滅を行い、開発フローで起こる些細な問題を極限まで減らすことができた
  • プロダクトの規模に合わせた適切なエンジニアリングを行い、セキュリティ、コスト、パフォーマンス、全てにおいて最適な構成になったと思います。
  • チームメンバーに合わせた技術選定を行うことで、無理なく楽しく開発できた(野良とは思えないくらい仲良かったです)

AI活用

  • フォルダ構成、アプリの設計を人間が決め、一定のルールに従ってAIエージェントを活用
  • Discordで上がった課題を適宜GitHubCopilotに食わせて、Issueを作って、それを軸にIssueドリブンしてた
  • 初心者が多かったからこそ、「理解をスキップさせて実装する」使い方ではなく、理解を推進するためにAIを使う方針で進めた

技術チャレンジ

  • リアルタイム性のあるステートフルなアプリケーションを複雑なインフラを使わずSupabaseのみで実装した
  • モバイルアプリを作っても、ハッカソン止まりでリリースまで漕ぎ着けないことが多いが、Appleの審査基準を満たした上でTestFlight公開まで行った
  • EASを使わずにExpoのネイティブビルドを行う方法を編み出した
  • 全員にあえてチーム開発で実際に行われるようなGitの使い方を推奨し、複数人でも致命的なトラブルなく美しいコミット履歴のまま進めることができた。
  • デザイントークンを意識した開発を行い、一貫性のあるUI/UXに仕上げた

構成図とスキーマを視覚的にわかりやすくしたやつ

image image

まとめ

ほぼ全員初心者だったり、メンバーが来れなくなったりと大変でしたが、確実にチームをまとめる力はついたと思います。すごく開発をしていて楽しかった。by. yomi4486

moto

@bmotox