🙏

個人開発を供養する

2023/07/28に公開

こんにちは、日台夫婦YouTuberです。
台湾のことはなんでも聞いてください、奥さんが答えます。

なぜ書くのか

Webエンジニアになってから個人開発を好きでいくつかやってきました。
サーバー費用などのお金はほぼかからないようにやっているのですが、PlanetScaleSupabaseの無料枠を食い潰してしまってることもあり、今後開発、運用する予定がないものに関してはここで供養させていただきたいと思った所存です。

https://planetscale.com/
https://supabase.com/

供養する個人開発

富士山ソムリエ

富士山ソムリエは静岡県富士市出身の僕が富士山の画像をあげて、ワインソムリエのようなコメントを残すサイトです。

※完成イメージ(Figma)

一覧 詳細 投稿

富士山画像をフリー素材にして、富士山限定のぱくたそみたいなイメージで作ろうかなと思っていました。
ただ途中でソムリエコメントを考えるのがめんどくさくなったのと、ネイティブアプリ開発の方をやりたくなったので情熱が消えました。

構成

  • Next.js on Vercel
  • バック: Next.js API Route
  • DB: PlanetScale

Next.jsでレンダリングをいい感じにしたい時はVercelを使うと苦しまないですみますね。Hobbyプランだと商用利用禁止なので、広告とかは貼れません。いい感じに軌道に乗ってきたらProプランを契約しようかなと思ってたりもしました。
https://vercel.com/pricing

富士山ソムリエはブログに近い形式でユーザーごとに見える内容に変わりがないのと、DBはPlanetScaleの無料プランで運営する想定だったので、ISRを採用してDBになるべく負担をかけないように意識していました。
https://nextjs.org/docs/pages/building-your-application/data-fetching/incremental-static-regeneration

また、画像配信が主なコンテンツなので、Next.js on VercelであればImageの最適化や加工や配信をいい感じにやってくれるのもいいなーと思っていたポイントです。

https://nextjs.org/docs/pages/building-your-application/optimizing/images

リポジトリとサービスURL(ほぼ動いてない)

https://github.com/atamakonkurii/fujisan-sommelier
https://fujisan-sommelier.vercel.app/

写真人狼 for Web

写真人狼はスマホの画像を使って、人狼をするゲームです。

  • 5人から遊べる
  • それぞれがテーマに沿ったスマホ画像をアップロードする
  • それぞれの画像について語る
  • しかし、人狼同士の画像は入れ替わっておりアドリブで話す
  • ひとしきり話した後に人狼がだれだったか投票し吊るす

だいたいこんな感じのゲームです。

Webで多人数で同時に遊ぶのでリアルタイムにゲームの進行情報を共有する必要がありました。

※ 完成イメージ(Figma)

構成

  • Next.js on Vercel
  • バックエンド: Next.js API Route
  • DB: Supabase

リアルタイム通信にはSupabaseのRealtimeという機能を利用しました。
https://supabase.com/docs/guides/realtime

firestoreも検討したのですが、慣れているRDBMSベースで開発しつつWebSocketでのリアルタイム通信が簡単に構築ができるSupabaseを選定しました。ただ、SupabaseはPostgreSQLベースで、MySQLしか触ったことがなかったので、結局少し学習することになりました。Row Level Securityは特徴的だなと思いました。

https://www.postgresql.jp/docs/9.5/ddl-rowsecurity.html

リポジトリとサービスURL(LPしか見れない、サインアップを止めてる)

https://github.com/atamakonkurii/photo-werewolf
https://photo-werewolf.vercel.app/

写真人狼 for iOS

写真人狼 for iOSに関しては2023年5月にAppStoreに配信されています。
https://apps.apple.com/jp/app/写真人狼/id6448245862

ゲームなのでやっぱりWebよりもネイティブアプリの方がサクサクヌルヌルUIが作れるのでは?と思い作りました。
普通に遊べるのでぜひ遊んでみて欲しい(5人集めないといけない)ですが、これ以上更新するつもりがないのでここで供養させていただきます。
Android版は開発中に力尽きて、リリースできていません。

※ 完成イメージ(Figma)

構成

  • SwiftUI
  • バックエンド:Firebase Cloud Function
  • DB: Firebase Cloud Firestore

新規アプリでなんのしがらみもないので、SwiftUIを採用しました。バックエンドおよびDBはFirebaseで開発しました。
SwiftUIとJetpack Composeの勉強をしたかったのでそれぞれの言語で書こうと試みました。ただ、同じようなロジックや画面を作るのがおっくうになってしまい、Androidの方は頓挫しました。
また、Cloud Functionに慣れていないのもありますが、ちゃんとバックエンドの方でロジックを書いて、クライアント側はなるべくそれを表示するだけにできるとクライアント側のコードはもっと楽に書けたかなと思いました。
そのため、次はバックエンドのサーバーを用意して、写真人狼を再度開発できたらいいなと思っています。

リポジトリ

https://github.com/atamakonkurii/photo-werewolf-iOS
https://github.com/atamakonkurii/photo-werewolf-Android

日台one!

日台one!は日本と台湾の情報を発信するためのブログサービスです。現職に未経験で入社させていただいた際にRailsとAWSの勉強をするために作りました。
https://qiita.com/atamakonkurii/items/8eb7f10bcfdb73324270

構成

  • フロント: Rails
  • バックエンド: Rails
  • インフラ: AWS EC2
  • DB: AWS RDS

すでに一年以上前にサービスを閉じてます。AWSの無料期間が終了し、月に5000円程度の請求がされるようになったため閉じました。この経験をきっかけに、個人開発にかかる費用をあらかじめ気にするようになりました。

リポジトリ

https://github.com/atamakonkurii/blog_JT

台湾中国語勉強アプリ

未経験の際にポートフォリオとしてつくりました。一応今もダウンロードできます。
https://apps.apple.com/jp/app/atamaconcrete/id1559159284

当時はバックエンドの概念を知らなかったので、コードの中に日本語文とその台湾語翻訳文、Assetsに音声ファイルを入れていました。

構成

  • Swift UI
  • バックエンド:なし
  • DB: なし

この程度のアプリですが、当時はこれが完成したら転職の応募をしよう!と考えて作っていた思い出のアプリです。
ここで供養させていただきます。

リポジトリ

https://github.com/atamakonkurii/AtaCon

まだ現役の個人開発

おごってください

僕がおごってもらえるポートフォリオサイトです。
ドメイン代以外無料で運営できているので、今後も運営していくと思います。
https://zenn.dev/atakon/articles/ed433aa9554a12

まとめ

今後も個人開発を続けていこうと思います。
ここ一年くらいはインフラ費用を気にしてバックエンドを用意する個人開発やAWS(特にRDS)を避けてきました。ただ、直近ではAWSの勉強をしたい欲が出てきているので、AWSのRDSを使いつつも、運用費を安くできる個人開発をしようと思っています。
またゴミになってしまう可能性もありますが、楽しみながら個人開発を続けていければと思います!

※↓これから作りたい個人開発案、気になるのあれば聞いてください!

GitHubで編集を提案

Discussion