🐶

[SORACOM]Harvest Dataをモバイルで確認したくてFlutterでスマフォアプリを作った話

に公開

はじめに

SORACOMはIoTプラットフォームとして優れたWeb APIを提供していますが、公式のスマートフォンアプリはありません。IoTシステムは、個々のシステム特有の要望が多いため、その辺りは自前で作成するのが良いと思いますし、それを実現するためにもSORACOMを使うのが良いと思います。

また、Webコンソールでもデータの可視化はできますが、移動平均を重ねて傾向を見たいなど「自分好みのデータ加工」をしようとすると自前での実装が必要です。

そこで、自分用のモバイルアプリをClaude Codeを使用して試作してみました。
一旦は、APIキーを直接設定する形にしていますが、この辺りは他のクラウドにデータ転送して、認証を通じて閲覧するような構成をした方が良いと思うので、書けたら書きます

完成したアプリ

SIM一覧・詳細の確認、Harvest Dataのグラフ表示、移動平均や統計分析、マップ表示ができるアプリです。

特にデータ分析機能がこのアプリの特徴で、移動平均(SMA, EMA, WMA)をグラフに重ねて表示したり、基本統計値を確認したりできます。生データだとノイズが多くて傾向が掴みにくいときに、移動平均を重ねることで全体的なトレンドが見えやすくなります。

技術スタック

カテゴリ ライブラリ
フレームワーク Flutter 3.32
状態管理 Riverpod 3
HTTP通信 Dio
ローカルDB Drift + SQLCipher
グラフ fl_chart
マップ flutter_map + OpenFreeMap
データ分析 moving_average, stats

アーキテクチャはクリーンアーキテクチャを採用し、ライブラリ選定はAIに調査・提案を依頼しています。

開発所感

今回の開発はバイブコーディングで進めました。Claude Code(Opus 4.5)を使い、レビューにはCodexを使っています。

自分はFlutterについてはHello World程度の経験しかありませんでしたが、技術選定からアーキテクチャ設計、実装まで対話で進めることができました。特にデータ分析機能は「移動平均を重ねて表示したい」「ウィンドウサイズを変更できるようにしたい」といった対話で素早く実装でき、思った以上に早く自分好みのアプリに仕上がりました。

未経験のフレームワークでも、バイブコーディングを活用すればこういったアプリが作れるのは面白いですね。

おわりに

SORACOMのAPIは整備されており、自作アプリとの連携がしやすいです。公式アプリがなくても自分で作れば外出先でのデータ確認が可能になりますし、「自分好みのデータ加工」ができるのも自作のメリットです。

同じようにSORACOMのデータをモバイルで確認したいと思っている方の参考になれば幸いです。

参考

リバナレテックブログ

Discussion