AI-powered architectural design and visualization platform. Upload floor plans or interior photos and see them rendered in different artistic styles using Google's Gemini AI.
https://github.com/kartik1225/planvision-ai/raw/main/docs/videos/onboarding.mp4
https://github.com/kartik1225/planvision-ai/raw/main/docs/videos/floor_plan_render.mp4
https://github.com/kartik1225/planvision-ai/raw/main/docs/videos/exterior_workflow.mp4
Manage styles, templates, and AI configurations through the admin panel.
https://github.com/kartik1225/planvision-ai/raw/main/docs/admin/admin-demo.mp4
- Upload floor plans or interior photos
- Choose from multiple design styles (Modern, Scandinavian, Industrial, etc.)
- AI-powered rendering using Google Gemini
- Save and manage design projects
- Export generated designs
plan_vision/
├── plan_vision/ # iOS SwiftUI App
├── plan_vision_backend/ # NestJS API Server
└── planvision_admin/ # Admin Dashboard (React)
- Framework: NestJS 11 + TypeScript
- Database: PostgreSQL + Prisma
- Auth: Better Auth (email/password + Google OAuth + Apple Sign-In)
- AI: Google Gemini API
- Storage: Google Cloud Storage
- Framework: SwiftUI
- Architecture: Clean Architecture + MVVM
- Networking: URLSession-based HTTP client
- Framework: React + TypeScript
- Build Tool: Vite
- Node.js 20+
- pnpm
- PostgreSQL
- Xcode 15+ (for iOS development)
- Google Cloud account
- Google Gemini API key
-
Navigate to the backend directory:
cd plan_vision_backend -
Install dependencies:
pnpm install
-
Copy environment template and configure:
cp .env.example .env # Edit .env with your credentials -
Set up the database:
pnpm prisma:generate pnpm prisma:migrate
-
Start the development server:
pnpm start:dev
The API will be available at http://localhost:3000. View API documentation at http://localhost:3000/docs.
-
Open
plan_vision/plan_vision.xcodeprojin Xcode -
Update
Config.swiftwith your backend server address:static let host = "your-server-address"
-
Build and run on simulator or device
-
Navigate to the admin directory:
cd planvision_admin -
Install dependencies:
pnpm install
-
Start the development server:
pnpm dev
See plan_vision_backend/.env.example for required environment variables:
| Variable | Description |
|---|---|
DATABASE_URL |
PostgreSQL connection string |
BETTER_AUTH_SECRET |
JWT signing secret |
GOOGLE_OAUTH_CLIENT_ID |
Google OAuth client ID |
GOOGLE_OAUTH_CLIENT_SECRET |
Google OAuth client secret |
GCS_BUCKET |
Google Cloud Storage bucket name |
GCP_PROJECT_ID |
Google Cloud project ID |
GEMINI_API_KEY |
Google Gemini API key |
PEXELS_API_KEY |
Pexels API key (for templates) |
| Endpoint | Description |
|---|---|
GET / |
Health check |
POST /api/auth/sign-in/email |
Email login |
POST /api/auth/sign-up/email |
Email registration |
GET /users/me |
Current user profile |
POST/GET/PATCH/DELETE /projects |
Project CRUD |
POST /input-images/upload |
Upload image |
GET /styles |
List design styles |
GET /image-types |
List image categories |
GET /docs |
Swagger API documentation |
See CONTRIBUTING.md for guidelines.
This project is licensed under the MIT License - see the LICENSE file for details.



