見出し画像

ChatGPTでMacアプリを開発して、執筆開始までを30倍速にする

作ったもの: シンプル文字カウントアプリ for Mac

世の中に欲しいMacの文字カウントアプリが中ったので、ChatGPTを用いて開発しました。

ダウンロードサイト: https://growsic.github.io/simple-word-counter-lp/

300字以内で執筆するタスク

マネージャーになってから、関係各所から文字数指定の文章執筆依頼を頂くことが増えた。

・チームメンバーの活躍コメント(300字以内)
・所属チームの概要と挑戦ポイント(500字以内)
・カンファレンス応募のための登壇概要(400字以内)
など、文字数は少なく時間はあまり掛からないが、文字数内で伝えたいことを伝え切る仕事といる。
書く回数が増えるにつれ、いかに素早く着手し手早く終わらせるかを考えるようになった。

執筆開始から終了までの工程の因数分解

書く工程を因数分解すると下記になる。
・Chromeを開く
・web上で文字カウンターと検索
・適当に選んでサイトを開く
・文字を記述し始める
・一定文字数を書くごとにカウントボタンを押下
・文字数を見ながら都度調整

文章を書き始める前に1分程度は執筆環境を用意することに使っており、この時間が心理的コストを産んでいる。

執筆の高速化には、即時起動する文字カウンターが必要

執筆開始まで1分掛かっているのはMacの仕事環境において、文字カウンターを備えた手頃なテキストエディタがあまりないことに起因している。
その結果Googleで適当に文字カウンターを検索する習慣に繋がり、惰性で執筆開始までの無駄な時間を産んでいる。

欲しいエディタは
・Macで直ぐに起動できる
・文字を記入できる
・記入した文字数をリアルタイムに計測可能

というシンプルな要件であるため、Macアプリでの開発を行うことにした。

ChatGPTで、Macアプリを開発する

私はJava/Kotlinでのバックエンド開発を数年やってきており、SwiftはもちろんMacアプリは開発経験がない。
しかしこれだけ生成AIが流行っている時代なのだからこれくらい作れるだろうとChatGPTと対話しながら開発することにした。

1.要件を伝え、開発の大まかな手順を教えてもらう

まずはXCodeのインストールなど、初歩的な環境構築を含んだ開発の全体感を挙げてもらった。
ざっくり手順がわかったので、各手順の操作方法を聞きながら初期アプリを構築した。

2.レイアウトの調整

UIが利用に耐えるものではなかったので、あなたはプロのデザイナーであることを伝え、デザインの修正を依頼した。
なお、MacアプリはStoryBoardというGUI機能でデザインを組むことが可能だが、ChatGPTにUIを組んでもらうためにUIはコードで記述するようにした。

3.リアルタイム処理に修正

文字数がエンターキー押すまで反映されなかったので、リアルタイムカウントになるように修正依頼した。
その他×ボタンでウィンドウを閉じたらアプリが終了する、起動時に画面中央に起動するなど、細かな挙動の修正依頼を行った。

4.バグ修正

文字を入力するまで文字が表示されないなど、よくあるバグを原因を推察して指示しながら不具合修正を行った。

5.ビルドの実行

開発したアプリをwebで配布する手順を出してもらい、手順通りにビルドした。
一部不正確な箇所があったのでweb検索を交えて討ち取った。

6.配布サイトの構築

せっかくならLPがあった方が嬉しいので、Github Pagesと静的サイトのテンプレを用いて構築した。
https://growsic.github.io/simple-word-counter-lp/

ChatGPTは、自分の専門領域周辺に能力を拡張してくれる

結果、Swift/Macアプリの知識はほとんどなくても実装が可能だった。
ただこれはプログラミングの基礎知識とReactなどで学んだアプリのLifecycleの知識をもとに、やっていることと起きている問題の切り分けが容易だったのは大きい。
起きている事象にすぐに仮説が立ち、ChatGPTへの指示を具体化できる。
以前取り組んだ3D CADソフトなどの場合だと周辺知識がなく、問題に行き詰まった時に頓挫したことがある。
ChatGPTでやることを増やすには、自分自身がどこかしらの周辺領域に最低限のリテラシーを獲得する必要があるように感じる。

エンジニアにとって便利ツールの開発難易度がぐっと下がった。是非やるべき

ChatGPT以前では私はJavaScriptとPythonなどのスクリプトの範囲で便利ツールを作っていた。エンジニアとしてのリテラシーがある程度あればChatGPTに質問しながらMacアプリでもすぐに作れるし、公開も楽に出来るようになった。
自分と身の回りをより便利にするために、専門領域周辺領域での便利ツールをぜひ開発していきたい。

この記事が気に入ったらサポートをしてみませんか?