そろそろスマホから開発してみませんか?移動中も開発したくないですか?
「移動中の時間を開発に使えたら...」
エンジニアなら誰もが一度は考えたことがあるのではないでしょうか(たぶん、きっと)
電車での移動時間、カフェでの待ち時間、散歩中のひらめき。これらの時間を有効活用できれば、開発の可能性は大きく広がります。
Devinの登場から始まり、Claude Code(Action含む)の進化を経て、Google Pixel 9 Pro Foldを購入したことで、本格的にスマホで開発したいという思いが強くなりました。
折りたたみスマホという大画面と、AI開発ツールの組み合わせによる「スマホで移動中でも本格的に開発する」という世界です。
正直、コーディング自体はPCの方が圧倒的に速いですが、「散歩中に思いついたアイデアを忘れないうちにメモしておく」を超えて、「散歩中に思いついたアイデアを実装しておく」ことが出来るのは個人的にWOW体験でした。
散歩中:「スライド生成ツールにテンプレート機能を追加したいな」
↓
スマホで指示:「Marpプロジェクトにテンプレート機能追加のIssueを作って」
↓
AIが自動で処理してプランニング・タスク分割、GitHubにIssue登録
↓
GitHubアプリでイシュー単位で確認
Claude Code Actionで完結させる
シンプルなアプローチは、Claude Code Actionを利用することです。
というかこれが答えな気はします。Claude Code Actionで開発するには不便な点はいくつかあるので、それを解消していくのが王道でしょう。
いくつかある辛い点の一つは動作確認です。PRプレビュー環境が欲しくてたまらなくなります。
PRプレビュー環境などがなければ、コードは生成できても、実際に動くかどうかを確認する手段が限られます。
その点においては、個人プロジェクトで最近試してるConvexは便利です。
The reactive database for app developers
を謳うConvexは、Supabaseと同様のBaaSです。
PostgreSQLを基盤としたSupabaseと異なり、With Convex, everything is just TypeScript
と公式で記載されている通り、TypeScriptでのアプリ開発におけるバックエンド・DBの体験に特化してるのが特徴です。
細かい点はより詳しく書いてくださっている記事に譲りますが、Next.js × Vercel × Convexの構成であれば、PRプレビュー環境を作るのも非常に簡単です。
(設定も驚くほど簡単で、npx convex dev
を実行するだけで開発環境が立ち上がります。)
Next.js × Vercel × Convexに限らずですが、PRプレビュー環境ができることで、一応画面ベースで動作確認もでき、コードもGithub Appから確認することができます。
また、TypeScript完結で、公式でMCPサーバーやConvex AI rulesも提供されており、AIでの開発体験も良好です。
Convexを試すことで、ミュージックビデオをYoutubeで楽しみながら、開発を進めることが可能な環境を手に入れることができました。
参考:
Chromeリモートデスクトップで、作業を引き継ぐ
Claude Code Actionで完結させるのが理想だなと思いつつも、もっと他の手段はないでしょうか?
例えば、Android向けターミナルエミュレーターアプリのTermuxを利用することも一案です。
ただ、個人的にはスマホのローカルでビルドする環境を作るのは面倒ではあります。
さらに「PCで作業していた続きを、そのまま移動中に引き継げないか?」そんな発想から試したのがChromeリモートデスクトップです。
Chromeリモートデスクトップを使えば、文字通り、スマホから自身のPCを操作することができます。
これであればPC側でCursorなりターミナルを開いておけば、急な移動が発生しても、移動中に作業を引き継いで完遂させることができます。
さらに一般的なスマホ画面であれば、小さくて視認性が悪いところ、折りたたみスマホであればそれも改善するのです。
一応ここで開発もできなくはなさそうです。
Claude Codeからの確認も返すことができます。
(まだ試せて無いですが、Human-In-the-Loop-MCP-Serverとか使った方が便利な気はしている)
タッチ操作はマウスに比べて精度が落ち、イマイチChromeリモートデスクトップの操作にも習熟できていないので、行えてるのは本当に基本的な操作のみです。
本当の意味でリモートデスクトップの良さを活かしてるのは言えないのは今後の課題です。
タスクのプランニング・イシュー作成をアシストさせる
このようにClaude Code ActionやChromeリモートデスクトップを用いて、移動中からもClaude Codeで開発していました。
YouTubeを見ながら、GitHub Appでイシューから@claude
を呼び出して、「これぞAI時代の開発...!」などと思っていました。
ただ、途中で気づいたのですが、複数リポジトリに対してひたすらイシューを作成していくのも、ChromeリモートデスクトップでCursor・ターミナルでPCと同じように開発するのはとても面倒ではあります。
複数のプロジェクトを同時に動かす癖がついてしまったので、GitHub Appを行ったり来たりしてイシューをたくさん作成していました。
事前に作っておけという話もあるのですが、散歩中に急に思いつくことだってあるのです。
そして、Chromeリモートデスクトップでいくら繋ごうとも、流石にPCと同じようには開発はできません。
そこで作ってみているのが、自前のタスクのプランニング・イシュー作成AIエージェントです。
とはいえ、今のところはタスクのプランニングや分解、GitHub Issue作成を行えるようにスクリプトやらRulesを定義しただけのプロジェクトです。
作業対象となるGitHub Repoを複数設定で保持・認識し、よしなにルールを読み込んだ上で処理してくれるので、Claude Code経由で指示しておけば、私が望んでるコンテキスト・ワークフローで適切にタスクプランニングをして、適切なリポジトリに勝手にGitHub Issueを作成してくれます。
私が最近真面目に整備してるMarpでスライドを生成するためのリポジトリでの例ですが、このようにChromeリモートデスクトップから指示して、Cursorやターミナルで動くClaude Codeを操作することが一応可能です。
指示をすることで勝手に対象リポジトリに合わせて、プランニングを行なった後に、GitHubにIssueを登録しておいてくれます。
正直Claude Codeにプランニングさせてもいいのですが、リポジトリ・プロジェクト毎に細かくコンテキストの指定や指示を行うにはスマホからだと辛い時もあるので、その辺りをよしなにやってもらうための仕組みです。
散歩中:「スライド生成ツールにテンプレート機能を追加したいな」
↓
スマホで指示:「Marpプロジェクトにテンプレート機能追加のIssueを作って」
↓
AIが自動で処理してプランニング・タスク分割、GitHubにIssue登録
↓
GitHubアプリでイシュー単位で確認
これでスマホからもタスクのプランニングやイシュー作成が簡単になりました。
イシューを作成した後はGitHub AppとYouTubeに戻って、@claude
を色々呼び出すだけです。
(イシュー作成されたら勝手に@claude
呼び出すやつも作ったので、半自動化されています)
まとめ
これぐらい抜本的に変えてこそ、AIネイティブな開発と言えるでしょう..!の精神で、最近はGoogle Pixel 9 Pro Foldをフル活用しようと色々遊んでみてるところです。
termuxやGitHub Codespaceも試したいので、次はその辺りかなと思います。書き終わってから記事を知ってしまいましたが、流石にリモートデスクトップよりはこっちの方が良さそう…😇
音声入力を活用したら、キーボードと格闘する必要もなく、散歩中に開発を進めることができて、これもまた雅です。
最近は7時間全集中するより、14時間緩くAIに絶やさず指示を出し続ける方が生産力は高まるのでは?と思っているので、1週間そのような働き方にトライしたい気持ちもある。
今度、開催されるClaude Code Meetup Japan #1に参加する予定ですので、この辺りのテーマに関心がある方がいらしたら、懇親会でお話しできるととても嬉しいです。
今回は以上です!
Discussion