Roomify is an AI-powered architectural visualization platform that transforms 2D floor plans into realistic rendered spaces. Users can upload architectural layouts, generate AI-enhanced visualizations, compare results side-by-side, export rendered images, and share projects with others.
Architects, interior designers, students, and homeowners often struggle to visualize how a floor plan will look once completed. Roomify bridges that gap by leveraging artificial intelligence to generate realistic visual representations from architectural plans.
The platform provides a simple workflow:
- Upload a floor plan.
- Create a project.
- Generate an AI-powered visualization.
- Compare the original plan with the generated render.
- Export or share the final result.
- Generate realistic 3D-style renders from floor plans.
- Automatic processing through AI services.
- Persistent storage of generated results.
- Create and save visualization projects.
- Retrieve previously generated projects.
- Private project storage.
- Interactive comparison slider.
- Compare original floor plan against AI-generated render.
- Real-time visual inspection.
- Download generated renders as PNG images.
- High-quality image export.
- Native sharing support through the Web Share API.
- Automatic clipboard fallback when sharing is unavailable.
- Easy project distribution.
- User-friendly error messages.
- Project loading validation.
- AI generation failure notifications.
- Graceful recovery from unexpected failures.
Upload Floor Plan
↓
Create Project
↓
Open Visualizer
Original Plan ←→ AI Generated Render
- React 19
- React Router 7
- TypeScript
- Tailwind CSS
- Vite
- lucide-react
- react-compare-slider
- @heyputer/puter.js
roomify/
│
├── app/
│ ├── routes/
│ │ ├── home.tsx
│ │ └── visualizer.$id.tsx
│ │
│ ├── root.tsx
│ └── routes.ts
│
├── components/
│ ├── ui/
│ │ └── Button.tsx
│ │
│ └── ...
│
├── lib/
│ ├── ai.action.ts
│ └── puter.action.ts
│
├── public/
│
├── package.json
│
└── README.md
┌───────────────┐
│ User │
└───────┬───────┘
│
▼
┌────────────────────┐
│ Home Page │
└─────────┬──────────┘
│
▼
┌────────────────────┐
│ Create Project │
└─────────┬──────────┘
│
▼
┌────────────────────┐
│ Project Storage │
│ (Puter Services) │
└─────────┬──────────┘
│
▼
┌────────────────────┐
│ Visualizer │
└─────────┬──────────┘
│
▼
┌────────────────────┐
│ AI Render Service │
└─────────┬──────────┘
│
▼
┌────────────────────┐
│ Rendered Image │
└────────────────────┘
git clone https://github.com/Pa004/roomify.gitcd roomifynpm installnpm run devThe application will be available at:
http://localhost:5173
Generate a production build:
npm run buildPreview the build:
npm run previewRoomify relies on Puter services for:
- Authentication
- Project persistence
- AI image generation
Before deployment, ensure the corresponding Puter configuration and credentials are correctly configured.
Users upload an architectural layout.
Image Upload
↓
Validation
↓
Project Creation
The system sends the source image to the AI rendering service.
Source Image
↓
AI Processing
↓
Rendered Visualization
Users can compare:
- Original floor plan
- Generated render
using the interactive comparison slider.
Download the generated render as a PNG image.
Share the project URL through:
- Native mobile sharing
- Browser sharing
- Clipboard copy fallback
The application includes:
Project not found.
Unable to generate the 3D visualization.
Please try again.
Unable to share the project.
Project link copied to clipboard.
Updated application metadata:
- Custom title
- SEO-friendly description
Implemented:
- Web Share API
- Clipboard fallback
- Share validation
Added:
- Project loading validation
- Generation error handling
- User-facing feedback messages
Replaced timestamp-based identifiers with:
crypto.randomUUID()to improve uniqueness and scalability.
Planned features:
- Public project gallery
- Multiple rendering styles
- User profiles
- Collaborative editing
- Cloud synchronization
- Project comments
- Version history
- Favorite projects
- Export to additional formats
- Dark mode
Contributions are welcome.
- Fork the repository.
- Create a feature branch.
git checkout -b feature/new-feature- Commit your changes.
git commit -m "Add new feature"- Push to your branch.
git push origin feature/new-feature- Open a Pull Request.
This project is licensed under the MIT License.
Developed as part of the Roomify architectural visualization platform.
GitHub Repository:
