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
This commit is contained in:
2026-05-28 20:26:22 +02:00
parent f44b1543d5
commit 3db7e47994
6 changed files with 634 additions and 2 deletions
+58 -2
View File
@@ -1,3 +1,59 @@
# interiorscan
# InteriorScan
Interior photogrammetry SaaS - Doom-map style 3D walkthroughs for real estate
**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
```bash
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