hermes 3db7e47994 docs: add constitution, spec, plan, and data model for InteriorScan MVP
- Constitution: self-hosted first, FPS-grade immersion, mobile-first capture, API-first, open formats
- Spec: 6 user stories (upload & process, share & embed, dashboard, API, measurements, billing)
- Plan: 6 phases, 50 tasks, Phase 1-3 = MVP core
- Data model: Drizzle schema with projects, photos, walkthroughs, processing_jobs, subscriptions
2026-05-28 20:26:22 +02:00
2026-05-28 20:24:08 +02:00
2026-05-28 20:24:08 +02:00

InteriorScan

Turn apartment photos into navigable 3D walkthroughs.

InteriorScan is a self-hosted SaaS platform for interior photogrammetry targeting real estate. Upload 30-100 photos of a property, the system reconstructs a 3D mesh (COLMAP + OpenMVS), and visitors navigate the space in first-person — like a Doom map of a real home.

Why?

Physical property visits are time-consuming and often unnecessary. InteriorScan lets potential buyers walk through a reconstructed interior from their browser, filtering out properties that don't fit before scheduling a visit.

Features

  • 📸 Photo-first capture — iPhone/Android photos as baseline, LiDAR optional
  • 🎮 FPS navigation — WASD + mouse (desktop), tap-to-walk (mobile)
  • 🔗 Share & embed — public links + oEmbed for listing pages
  • 📐 Measurements — room dimensions overlaid on walkthrough
  • 🗺️ Floor plans — DXF/PDF export from reconstructed geometry
  • 🔌 API-first — every feature has REST API before UI
  • 🏠 Self-hosted — PostgreSQL + Valkey + GPU worker, no vendor lock-in

Stack

Layer Technology
Framework Next.js 16 (App Router)
Monorepo Turborepo + pnpm
Database PostgreSQL + Drizzle ORM
Cache/Queue Valkey
3D Viewer three.js
Processing COLMAP + OpenMVS
Auth better-auth
Billing Stripe
Lint Biome 2.x
Testing Vitest v4 + Playwright

Quick Start

pnpm install
pnpm dev

Project Structure

interiorscan/
├── apps/web/              # Next.js 16 App Router
├── apps/processor/        # GPU processing worker
├── packages/auth/         # better-auth + RBAC
├── packages/db/           # Drizzle schema + migrations
├── packages/viewer/       # three.js FPS walkthrough viewer
├── packages/ui/           # shadcn/ui v4 + Tailwind tokens
├── packages/utils/        # Zod, neverthrow, error catalog
└── .specify/              # Constitution, specs, plans

License

Apache-2.0

S
Description
Interior photogrammetry SaaS - Doom-map style 3D walkthroughs for real estate
Readme Apache-2.0 93 KiB
Languages
HTML 98.9%
Shell 1.1%