AI-powered architectural visualization. Upload a floor plan, get a photorealistic 3D render in seconds.
Built with React Router v7, Puter.js, and an AI rendering pipeline.
- Upload a floor plan (JPG, PNG, WEBP up to 50MB)
- AI generates a photorealistic 3D visualization of the space
- Before/after comparison slider to see the transformation
- Projects are saved to your Puter account and accessible from any device
- Export renders as PNG or copy a shareable link
- React Router v7 — full-stack React framework with SSR
- Puter.js — auth, cloud file storage, KV store, and static hosting
- Puter Workers — serverless backend for project persistence
- TypeScript — end to end
- Tailwind CSS — styling
- Node.js 18+
- A Puter account
- A deployed Puter Worker (see below)
git clone https://github.com/NapoleonTheGreat1815/roomify
cd roomify
npm installCreate a .env file in the root of the project:
VITE_PUTER_WORKER_URL=https://your-worker.puter.work
See .env.example for reference.
- Go to puter.com and open the Workers section
- Create a new worker and paste the contents of
puter.worker.js - Deploy it and copy the worker URL into your
.env
npm run devnpm run build
npm run startapp/
├── routes/
│ ├── home.tsx # Landing page and project grid
│ ├── visualizer.$id.tsx # AI render view with comparison slider
│ ├── product.tsx
│ ├── pricing.tsx
│ ├── community.tsx
│ └── enterprise.tsx
├── components/
│ ├── Navbar.tsx
│ ├── Footer.tsx
│ ├── Upload.tsx
│ └── ui/
├── lib/
│ ├── puter.action.ts # Auth and project CRUD
│ ├── puter.hosting.ts # File upload to Puter static hosting
│ ├── ai.action.ts # AI rendering pipeline
│ ├── utils.ts # Image utilities
│ └── constants.ts
puter.worker.js # Puter Worker — project KV storage API
MIT