Skip to content

Vedag812/RoomVision

Repository files navigation

๐ŸŽจ DesignLens - AI Interior Design Studio

Transform your space with AI-powered interior design.

Upload a room, visualize stunning transformations, and generate cinematic 3D video tours instantly.

Gemini TypeScript Vite

โœจ Features

๐ŸŽจ Core Design Tools

  • ๐Ÿ–ผ๏ธ Upload & Style - Upload your room photo or choose from curated samples
  • ๐Ÿค– AI-Powered Transformations - Powered by Gemini 2.5 Flash for realistic room styling
  • ๐ŸŽฌ 3D Video Tours - Generate cinematic walkthroughs using Gemini Veo 2.0
  • ๐Ÿ“ Smart Placement - Click to specify exact furniture placement locations
  • ๐Ÿ’ฌ Natural Language - Simply describe your vision in plain English

๐Ÿ” Comparison & Analysis

  • โ†”๏ธ Before/After Slider - Interactive comparison tool with draggable slider
  • ๐Ÿ’ก AI Style Suggestions - Get 3 personalized design recommendations based on your room
  • ๐Ÿ’ฐ Cost Estimation - AI-powered budget breakdown with itemized furniture costs
  • โฎ๏ธ Undo/Redo - History tracking with up to 20 saved states

๐ŸŽฏ Enhanced UX

  • ๐Ÿ” Zoom & Pan - Detailed viewing with zoom controls for close inspection
  • ๏ฟฝ Download/Share - Save designs or share via social media
  • ๐Ÿ“‹ Copy to Clipboard - Quick image copying for easy sharing
  • ๐ŸŽญ Quick Presets - One-click furniture additions (chairs, plants, lamps, art)
  • ๐ŸŒ™ Modern UI - Beautiful gradient-based dark theme with smooth animations

๐Ÿš€ Quick Start

Prerequisites

  • Node.js (v18 or higher recommended)
  • A Gemini API key (Get one here)

Installation

  1. Clone the repository

    git clone https://github.com/Vedag812/Showcase.git
    cd Showcase/designlens
  2. Install dependencies

    npm install
  3. Configure your API key

    Create a .env.local file in the root directory:

    # .env.local
    API_KEY=your_gemini_api_key_here

    โš ๏ธ Important: Never commit your API key to the repository!

  4. Add sample images (Already included)

    Ensure these files are in the public/ folder:

    • image1.jpg - Modern Living Room
    • image2.jpg - Minimal Studio
    • image3.jpg - Contemporary Space
  5. Start the development server

    npm run dev
  6. Open your browser

    Navigate to http://localhost:3000 (or the port shown in your terminal)


๐Ÿš€ Deployment

Environment Variables

For production deployment, set the API_KEY environment variable in your hosting platform:

Vercel/Netlify:

API_KEY=your_gemini_api_key_here

Build for Production

npm run build

The optimized production build will be in the dist/ directory.

๐Ÿ“– How to Use

Step 1: Choose a Room

  • Select a Sample: Click on any of the pre-loaded room samples
  • Upload Your Own: Click "Upload Your Own Image" to use a photo of your room

Step 2: Design Your Space

  • Click Placement: Click on the room image where you want to add furniture
  • Choose a Preset: Select from Armchair, Potted Plant, Floor Lamp, or Wall Art
  • Custom Description: Type your own design ideas in natural language

Step 3: Generate Your Design

  • Click "Transform My Room with AI" to let Gemini redesign your space
  • Wait for the AI to process (usually 10-30 seconds)
  • View your newly styled room!

Step 4: Create a 3D Video Tour

  • After styling, click "Generate 3D Video Tour"
  • Gemini Veo 2.0 will create a cinematic walkthrough (this may take 1-3 minutes)
  • Play and download your video tour

๐ŸŽฏ Technologies Used

Technology Purpose
Google Gemini AI Image generation and video creation
Gemini 2.5 Flash Room styling and furniture placement
Gemini Veo 2.0 3D video tour generation
TypeScript Type-safe development
Vite Lightning-fast build tool
Modern CSS Gradient-based dark theme with animations

๐Ÿ—๏ธ Project Structure

virtual-room-styler-with-gemini/
โ”œโ”€โ”€ index.html          # Main HTML structure
โ”œโ”€โ”€ index.tsx           # TypeScript application logic
โ”œโ”€โ”€ index.css           # Modern gradient-based styling
โ”œโ”€โ”€ samples.ts          # Sample room configuration
โ”œโ”€โ”€ image1.jpg          # Sample room 1
โ”œโ”€โ”€ image2.jpg          # Sample room 2
โ”œโ”€โ”€ image3.jpg          # Sample room 3
โ”œโ”€โ”€ package.json        # Dependencies
โ”œโ”€โ”€ tsconfig.json       # TypeScript configuration
โ”œโ”€โ”€ vite.config.ts      # Vite configuration
โ””โ”€โ”€ .env.local          # API key (create this)

๐ŸŽจ Customization

Adding More Sample Images

  1. Add your image files to the project root
  2. Update samples.ts:
export const SAMPLES: Sample[] = [
  { name: 'Your Room Name', url: '/your-image.jpg' },
  // ... more samples
];

Changing the Theme

Edit the CSS variables in index.css:

:root {
  --primary-color: #6366f1;
  --accent-color: #f59e0b;
  --background-color: #0a0e17;
  /* ... more variables */
}

๐Ÿšข Deployment

Build for Production

npm run build

The optimized files will be in the dist/ directory.

Deploy to Vercel, Netlify, or Any Static Host

  1. Build the project: npm run build
  2. Upload the dist/ folder to your hosting provider
  3. Set the API_KEY environment variable in your hosting platform

Important: For production, use a secure backend to handle API keys instead of exposing them in the client.

๐Ÿ”’ Security Notes

  • Never commit .env.local to version control
  • For production deployments, use environment variables provided by your hosting platform
  • Consider implementing a backend proxy to keep your API key secure

๐Ÿค Contributing

Contributions are welcome! Feel free to:

  • Report bugs
  • Suggest new features
  • Submit pull requests

๐Ÿ“„ License

This project is licensed under the Apache-2.0 License.

๐Ÿ™ Acknowledgments


Made with โค๏ธ using Gemini AI

Report Bug ยท Request Feature

About

Room layout and interior design visualization tool built with TypeScript

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors