3idea要するに2週間超のお休みを取得して個人開発をしたけど、プロダクトとして完成しきれなかったという話。個人開発の中で「開発をしないためのアプローチ」を採用しまくったという話。Keeper」がとても面白いので、みんなにやってもらいたいという話。はじめに2022/12/23(Fri)から2023/01/09(Mon)まで、2週間以上の長期休暇を取得しました。OÜ」のプロダクトとコーポレートサイトの開発を行うことです。いうのも、本年にまたエストニアに戻りたいのと、ぼちぼちちゃんと企業活動したいと思ったからですね。実際のところはこの休暇を全部個人開発にあてられたわけでなく、大掃除したり、プライベートのあれこれしたり、エストニアのVisaの申請をしたり、なんだかんだ日本で勤めている会社でのタスクや連絡があったり、ブログの執筆とかをしていたので、実質10日感程度をなんとか個人開発にあてられたという感じではあります。ある「個人開発やりましたドヤァ」な映える記事ではなく、その成功の影にある有象無象の失敗談のひとつみたいな記事です。個人開発、難しいなぁ。作りきれる人、本当にすごいと思います。webサイトとなります。https://omusbridge.com/非常にシンプルなwebサイトですが、凝るところには凝っています。詳細な機能等については、完成した暁に、別の記事で紹介したいと思います。私は非常に怠惰な性格であり、開発はおろか、個人での運用もままならないことは、これまでの人生経験から十々に理解しております。そのため、スタートは本当にミニマムに進められることを最優先に、技術選定を行いました。Workersを採用しました。Workersを使って独自ドメイン対応したことが理由です。ドメインはムームードメインで管理し、DNSにはCloudflareを使う形式にしています。管理に使用するサービスが多すぎると辛いので。https://muumuu-domain.com/なお、Nuxt3であれば、presetを指定すれば簡単にデプロイできるのもありがたいですね。実際には簡単じゃありませんでしたが。UGCなアセットの置き場としても今後使用していく想定です。assets)Supabaseを採用することにしました。https://supabase.com/Firebaseのように、色々な面倒事を包含してくれていてとても助かりますね。いえ、この子はいまのところwebサイト上のアセット置き場としてしか使用していないです。BackendNuxt3を採用しました。http://nuxt.com/今回は個人開発なので、フロントエンドフレームワークとしてでなく、フルスタックフレームワークとしての採用です。serverディレクトリ配下でシンプルにAPI書けるのはとてもありがたいですね。型定義とかアーキテクチャを使い回せるので、そこを整備する時間を大きく短縮できました。workersにデプロイするためのCIが公開されているのもあり。https://nitro.unjs.io/deploy/providers/cloudflare少しテコ入れしないと動かせなかったのですが、テコ入れしたら動きました。FrameworkこれにはInklineを使ってみています。https://www.inkline.io/テスト済みで、且つNuxt3に対応しているありがたいフレームワークです。Storybookを公開していて、どんなコンポーネントが使えるかもすぐに分かります。scssとの組み合わせが非常に簡単なのもとても助かりますね。Docsドキュメンテーションには、Notionを採用しました。CMSを使うのも検討しましたが、私くらい怠惰になると、もはやCMSでコンテンツを書くのですら面倒です。先にも言及した自分のサイト配下に、ドキュメンテーション用のページを作りました。スマフォからでもポチポチできるし、結果もリアルタイムに反映されるのでとても楽ですね。ちなみにこれを機に、タスク管理ツールもHabiticaからNotionに移行しました。https://www.noway-form.com/まだβ版とのことで動作確認をしたうえで使用しましたが、Notion連携ですぐにFormを運用できるのでとても楽でした。言うならDocsがもう少し充実してほしかった。AnalyticsとNotionlyticsを採用しました。https://app.notionlytics.com/invite/2uB8tT3X4qVhJx5olUge9Fc59MR2前者は語るまでもないですが、後者はNotionで使えるAnalyticsツールということで、サクッとお試しに。3ページまでが無料とのこと。Githubを活用しています。moduleが公式Webサイトで採用していたアプローチなので、それを参考にしました。プロジェクトの進捗を、ユーザーが簡単に見れるようになるのは、とてもありがたい限りですね。templateには、新しくできたβ版の機能を活用しています。普段使いには面倒だけど、issuesに規約持たせたいOSSとかにはよさそう。時間がかかったのはやはり上記技術選定に伴う事前調査でした。おかげで、スタックを決めてからは割りとサクサクと後続の工程に移れたと思います。技術選定と調査までで2日程度使ったと思います。デザイン脳内にある程度のデザインはあったので、デザインツールを用いたデザインはしませんでした。ここに凝ると無限に時間がかかるので、Inklineとかに乗っかりつつ、無視できるところは無視しました。ここには0人日をかけました。Workersへの環境構築は、公式DocのActionsがそのままだと動かなかったので、ここに1日前後費やしました。次回の記事で紹介する、このWebサイトにおけるコア機能の実装と検証は、フロントエンド開発の前に行いました。Workersの本番では動かないという事象が発生し、大きく時間を要しました。そもそもとしてnitroを扱ったAPI構築にも少しだけ時間をとりました。この工程には、トータルで2日程度費やし、フロントエンドの開発に移るまでで、全体の半分以上の工数を持っていかれました。フロントエンド開発フロントエンド開発は、Nuxt3での開発経験がすでにあり、自社のアーキテクチャを流用した(※弊チームでは条件付きでこれを許容しています)ため、比較的スムーズには進められたと思います。一方でマークアップにこだわった部分も少しあり、そのためにトータルで4日程度を費やし、これにて10日間の作業がタイムアップしてしまいました。振り返り諸般の事情で開発に集中し切ることはできず、タイムアップすることになってしまいましたが、それでも忙殺されていたこれまでの期間に比べれば、かなりの進捗があったのは事実です。マイルストンを切手のRoadmap管理もはじめたので、1月中には皆様にある程度お見せできるプロダクトがつくれればいいなと思っています。Keeperというゲームがあります。RPGのようなゲームで、とても面白いです。年末にこのゲームを見つけてしまい、このゲームで遊んでしまったせいで進捗が少なくなってしまったという一面は否定できません。Proよくある質問LinksX(Twitter)GitHubメディアキットLegal利用規約プライバシーポリシ。