What is BillMilli? BillMilli is a construction project management platform that prevents costly mistakes and scope drift in homebuilding. The Core Idea • Every project requires a 3D building model (IFC/GLB file) • Field teams capture photos that are linked to specific locations in the model • The system detects when reality doesn’t match the model • Owners approve or reject changes through a formal Variation Order process • Construction progresses through 16 stages, with “freeze points” that prevent late-stage expensive changes Who Uses It? • Owners/Investors: Monitor projects, approve changes, control payments • Contractors: Submit evidence, request approvals, manage field work • Supervisors: Verify work quality, check compliance Technology Stack Backend • Language: Python 3.11+ • Web Framework: FastAPI (REST API) • Database: PostgreSQL • ORM: SQLAlchemy 2.0 • File Storage: MinIO (S3-compatible) • Migrations: Alembic • 3D Processing: ifcopenshell (IFC files), ezdxf (DWG files), trimesh (geometry) Frontend (Web Dashboard) • Language: TypeScript • Framework: React 18 • Build Tool: Vite • State Management: TanStack Query (React Query) • Routing: React Router • 3D Viewer: Three.js with @react-three/fiber • HTTP Client: Axios • Validation: Zod Mobile (Field App) • Language: TypeScript • Framework: React Native with Expo • State Management: Redux Toolkit • Camera/AR: Expo Camera with device sensors • Navigation: React Navigation Infrastructure • Containerization: Docker + Docker Compose • CI/CD: GitHub Actions • Authentication: JWT tokens