見出し画像

書類をスキャンするだけのアプリを、AIと二人三脚で両OS分作った話

どうもです!えむしんです!

書類をスキャンして、JPGかPNGかPDFで保存する。 毎日ではありませんが、必要なときが必ずあります。

ところが世の中のスキャンアプリは、機能が多すぎたり。 広告だらけだったり。 自分の使い方とは微妙にズレていたり。

だったら作ってしまえばいい。 そう思い立ったのが始まりでした。


設計から入る

いきなりコードは書きませんでした。

まず紙に近い形で、やることを言葉にしていきます。

◆対象ユーザー
◆必要な機能
◆v1でやらないこと
◆画面遷移

一通り書き出してから、ようやく手を動かし始めました。 行き当たりばったりでなかったぶん、後で迷う場面が少なかったように思います。


Androidから形にする

名前は「P2D」。Paper to Data、とプロトタイプ感がある安直な名前です。

◆撮影して四隅を検出、台形補正
◆指で微調整できるように
◆複数ページをまとめて管理
◆JPG・PNG・PDFで書き出し

実機で触ってみると、思ったより自然に動きました。 ここまでは順調そのものでした。


ハンドルが指に追いつかない

ところが補正画面で、妙なバグに当たりました。

四隅のハンドルを指でドラッグしても、カクカクとしか動きません。 原因をSonnet5に探ってもらっても、なかなか核心に届かない時間が続きました。

結局このバグを突き止めたのは、Fable5でした。
コストの安いAIモデルで時間を溶かすよりも、コストが高くても早く解決できる可能性がある方を試しました。


iOSで一番苦労したのは「保存」だった

Android版の次は、iOS版です。

実装で一番手こずったのは、保存でした。 Androidなら簡単な「フォルダを1回選んで、まとめて書き込む」という仕組みが、iOSには同じ形では存在しません。

代わりの方法を試すと、実機で書き込みが軒並み失敗する。 しかも失敗する場所は、自分のアプリ専用のフォルダでした。

「場所」を疑って、別のフォルダでも試しました。 結果は同じ。

つまり、場所の問題ではなかったということです。 原因は、使っていたライブラリ側の抜け漏れでした。

小さなコードを足して直す。 地味ですが、確かな達成感がありました。


実機との対話を繰り返す

今回はシミュレータを使わず、最初から実機で確認しました。

◆カメラの権限まわり
◆バックグラウンドから戻ったときの挙動
◆保存したファイルが本当にFilesアプリから見えるか

「このボタンを押してみてください」 「結果を教えてください」

そんなやり取りを何度も繰り返しました。 途中、ビルドが妙に遅くて焦った場面もありましたが、原因は単に古いデバッグセッションが裏で動いていただけ、というオチでした。


まとめ

設計からAndroid、iOSの実装まで、合わせて5時間ほど。

基本的にはSonnet5などコスパの良いAIモデルで設計書を作成して、コーディングする。壁に当たりそうになったら、他のAIモデルへの引継書を書いてもらって、設計書と共に新しいAIモデル(今回はFable5)に渡す。
今回はこの方法で後戻りもせずに開発することができました。

ストア公開は未定ですが、まずは自分の手元で、欲しかった通りに動く。 それが今回の収穫です。

ではでは。

いいなと思ったら応援しよう!

えむしん 面白かったら、チップで一票いただけるとうれしいです。深掘りする励みになります!