スペースリーのiOSアプリの技術スタックと開発体制

はじめに

株式会社スペースリー iOSエンジニアのHikawa Taisei(@teeeee441)です。普段は不動産業者向け物件撮影アプリを開発しています。

今回は、そのアプリの技術スタックや1人開発での運用について紹介します。


プロジェクト概要

どんなアプリ?

不動産業者向け物件撮影の効率化を実現するiOSアプリケーション

主要機能

  • 撮影補助(iPhone標準カメラ・RICOH THETA連携)
  • 物件単位での画像・情報管理
  • 物件紹介動画の生成

技術スタックと開発環境


アーキテクチャ設計

基本構造

Android推奨アーキテクチャを参考にした以下のような構成

  • UI層: SwiftUI + ViewModel
  • ビジネスロジック: UseCase(オプション)
  • データ層: Repository、Service

マルチモジュール

機能単位でのモジュール分割とSandboxアプリによる開発効率と保守性の向上


特徴的な技術実装

外部デバイス連携

RICOH THETAとのWi-Fi接続による360度撮影

動画生成機能

  • AVFoundationによる動画処理
  • SceneKitを活用したパノラマ画像の球体マッピング

AI機能

CoreMLによる部屋カテゴリの自動推定

オフライン対応

Realmによるデータキャッシングでオフライン対応


主要ライブラリ&フレームワーク

  • LocalDB: Realm
  • DI: Factory
  • ネットワーク: Moya
  • 画像キャッシュ: Kingfisher
  • 分析・監視: Firebase (Crashlytics等)
  • 3D・動画: SceneKit、AVFoundation

テスト

Swift TestingによるUnit Testのみ。
Test Double(主にStub・Spy)を活用したSUTのみを対象とした純粋なUnit Test。


開発プロセス

ブランチ戦略

Git Flowをベースにした3段階構成:

  • develop: 開発用ブランチ
  • pre-release: TestFlight配信用
  • release: 本番リリース用

CI/CD

  • CI: GitHub Actionsでテスト実行
  • CD: Fastlane CLI(現在は限定的な使用)

その他

  • コードレビュー: Danger、CodeRabbitによる自動化

開発体制と運用

  • チーム規模: 1名での開発・運用
  • リリースサイクル: 月1回程度

働き方の自由度

完全リモートワーク

渋谷/大阪オフィスに出社することも可能。
ワーケーションも可能で、実際に私はオーストラリアやアメリカからリモートで勤務した経験もあります!
Slackで気軽に雑談したり、隔週でLT会や雑談会があったりと、リモートワークでも自然に交流できる環境です!

柔軟な勤務時間

コアタイムは11:00〜16:00です。
フレックスタイム制で私用による中抜けも可能なので、私は日中に筋トレをすることもあります。


開発環境の自由度

技術選定の裁量

ビジネス価値と整合性があれば、自身が興味のある技術を積極的に採用可能。技術的な挑戦と事業成長の両立を実現できる環境です。

開発ツールサポート

生産性向上につながるツールは、スピーディーに利用が承認される体制が整っています。
特にAIツールは、CAIOが中心になって積極的に導入を進めています!
私も今までChatGPT, Claude, Gemini, GitHub Copilot, Cline, Cursor, Claude Code, CodeRabbitなど様々なツールを使ってきて、そのありがたさを実感しています。


さいごに

スペースリーでは一緒に働いてくださる方を大募集中です。
iOSエンジニア / 株式会社スペースリー