【個人開発3作目】未来の自分にLINEが届くアプリを作った話【カナポス】

個人開発記録

今回は、今までと全然違う種類の難しさだった

1作目でGeminiを使いながらWebアプリを作る流れを掴み、2作目ではテンプレートを活用して爆速で開発できるようになりました。

「個人開発、なんとかなるな」と思い始めていたタイミングで、3作目に挑みました。

結論から言うと、今回は今までとまったく別次元の難しさでした。

データベース、LINE認証、スケジュール配信——これまで触ったことのない技術が一気に登場して、最初は正直、何から手をつければいいかわかりませんでした。

そしてこの3作目から、Claude Code(VS Code拡張版)を使って開発しました。 これが今回の開発を大きく変えることになります。

今回作ったアプリはこちら!

カナポス

作ったもの:カナポス

カナポス は、「今日書いたメッセージを、未来の自分にLINEで届ける」Webアプリです。

タイムカプセル型日記アプリ、とでも言えましょうか。

使い方はシンプルです。

  1. LINEアカウントでログインする
  2. 今日の気持ちや出来事を書く
  3. 「いつ受け取るか」を選ぶ(1週間後・1ヶ月後・1年後など)
  4. 送信する
  5. 指定した日の朝、書いた内容がLINEに届く

「何気ない今日が、ちょっといい未来をつくる」というコンセプトで作りました。過去の自分が書いたことを読む体験は、日記とはまた違うおもしろさがあると思っています。


なぜ作ったのか

「タイムカプセルみたいなことができたら面白いな」という思いつきがきっかけです。

日記は書いても見返さないことが多いですが、「未来に届く」という仕組みがあれば、届いたときに自然と読み返せます。しかも通知がLINEで来るなら、わざわざアプリを開く必要もない。

アイデアとしてはシンプルですが、「どうやって実現するか」を考えたとき、今まで触ったことのない技術が必要だとすぐにわかりました。


今回初めて向き合った技術たち

1作目・2作目はNext.jsで画面を作るだけでした。今回はサーバー側の仕組みが必要でした。

LINEログイン(LIFF)

ユーザーがLINEアカウントでサインインする仕組みです。「誰が書いたか」を識別しないと、その人宛てにLINEを送れません。LINE Developersというサービスに登録して、アプリとLINEを紐付ける設定が必要でした。

データベース(Supabase)

書いたメッセージをどこかに保存しておかないと、指定日に届けられません。今回はSupabaseというサービスを使いました。ざっくり言うと「クラウド上のデータ保管場所」です。

スケジュール配信

毎朝8時に「今日が届け日の手紙」を探して、LINEに送信する仕組みが必要です。これが一番の難関でした。


Claude Codeを使ってみた

今回からGeminiではなく Claude Code(VS Code拡張版) を使いました。

Claude Codeってなに?と思う方はこちらへ

Geminiとの一番の違いは、「自分でファイルを開いて・読んで・修正して・保存する」までやってくれることです。

Geminiは「こう書けばいいですよ」と教えてくれます。でもコードをコピーして、ファイルを開いて、貼り付けるのは自分でやる必要がありました。

Claude Codeは違います。VS Codeのサイドバーで「LINEログインの処理を書いて」と伝えると、どのファイルに何を書くかを判断して、実際にファイルを編集・保存するところまでやってくれます。

今回のように「複数のファイルにまたがる複雑な処理」が多い開発では、この違いがとても大きく感じました。


開発の流れ

まず全体像をClaude Codeと一緒に設計した

「LINEでログインして、メッセージを書いて、指定日に届ける」という仕組みを実現するには、どんなファイルが必要で、どのサービスと連携するかを最初に整理する必要がありました。

ここでClaude Codeが特に役立ちました。「こういうアプリを作りたい」と伝えると、「必要な技術はこれで、ファイル構成はこうするといい」という全体設計を提案してくれました。

自分だけで考えていたら、ここだけで何日もかかっていたと思います。

LINEログインで詰まった

一番苦労したのがLINEログインの実装です。

LINEにはLIFFという仕組みがあり、これを使うとWebアプリでLINEアカウントを使ったログインができます。ただし設定項目が多く、LINE Developersの管理画面とアプリのコードの両方を行き来しながら設定する必要があります。

「ログインボタンを押したのに何も起きない」「エラーコードが出たが意味がわからない」——こういった場面が何度もありました。

そのたびにClaude Codeにエラーの内容を見せると、「このエラーはLIFFのIDが正しく設定されていないことが原因です。〇〇の設定を確認してください」と、原因と対処法を一緒に探してくれました。

データベースとの接続

Supabaseでデータベースを作る部分は、Claude Codeがほぼ全部設計してくれました。

「どんなデータを保存するか」を日本語で伝えると、「こういうテーブル構造にしましょう」と提案してくれて、実際の設定用のコードまで書いてくれました。

正直、データベースはとっつきにくいイメージがあったのですが、Claude Codeと一緒に進めることで「なんとかなるかも」と思えるようになりました。

スケジュール配信は「まだ」

毎朝8時に手紙を届ける仕組みは、現時点では完全には動いていません。

仕組みの設計はできていて、あとはGASというGoogleのツールを使って定期実行する部分を整備すれば完成します。「開発中」という状態で公開しているのは、「完璧じゃなくてもまず出す」という考え方を大事にしているからです。


GeminiとClaude Code、使ってみた率直な比較

今回3作目でClaude Codeに切り替えて感じたことを正直に書きます。

良かったこと

  • ファイルを直接編集してくれるので、コピペの手間がゼロ
  • 複数ファイルにまたがる処理でも「どこに何を書けばいいか」を判断してくれる
  • エラーが出たとき、ファイルを自分で読みに行って原因を探してくれる

注意が必要なこと

  • 変更内容を必ず自分で確認する必要がある(意図と違う修正が入ることもある)
  • 月$20の料金がかかる

シンプルなツール系のアプリならGeminiで十分だと思います。ただ今回のように「複数のサービスを連携させる」「サーバー側の処理が必要」といった複雑な開発では、Claude Codeの方が圧倒的に楽でした。


3作作ってわかったこと

1作目→2作目→3作目と続けてきて、開発のたびに「できること」が増えていくのを実感しています。

1作目はGeminiに言われたコードをそのまま貼り付けるだけでした。3作目の今は、コードの意味がある程度わかるようになっていて、「ここはこう直した方がいい」と自分で判断できる場面も出てきました。

続けることで確実に成長しています。

個人開発を始めようか迷っている方に伝えたいのは、最初の1本は本当に小さくていいということです。わたしも1作目は「枚数を入力したら合計が出るだけ」のツールでした。それが今では、LINEログインとデータベースを使ったアプリを作るところまで来ています。


おわりに

カナポス はLINEアカウントがあれば無料で使えます。「未来をちょっと楽しくしたい」という方にぜひ使ってみてもらえると嬉しいです。

感想・フィードバックは X(旧Twitter)@katasukeee08 までどうぞ!

タイトルとURLをコピーしました