An AI-powered web application that helps users transform their trash and discarded items into creative, upcycled products. The app generates personalized upcycling ideas with visual designs, allows interactive editing, and provides comprehensive build guides with environmental impact information.
Trash to Impress uses AI (Google Gemini) to:
- Generate creative upcycling ideas from user descriptions of their trash/discarded items
- Create visual representations of the upcycled products
- Provide tools and materials lists needed for each project
- Calculate and display environmental impact and benefits
- Generate downloadable PDF guides for each project
- Users describe their available trash/discarded items and desired product type
- AI generates 4 unique upcycling ideas with titles, descriptions, and visual images
- Each idea includes a short summary and visual description
- Select your favorite idea to see the generated product image
- Draw directly on the image to mark areas you want to change
- Use pencil tool for marking changes
- Use eraser tool to remove markings
- Chat interface to describe desired modifications
- Real-time image regeneration based on your edits
- View all versions of your edited images
- Revert to previous versions if needed
- Track your editing history
- Finalize your design when satisfied
- Automatically generates comprehensive guide including:
- Tools needed
- Materials required
- Environmental impact analysis
- Waste diverted information
- Carbon footprint benefits
- Download everything as a PDF for offline reference
- Next.js 16 - React framework
- TypeScript - Type safety
- Tailwind CSS - Styling
- jsPDF - PDF generation
- React Three Fiber - 3D graphics (landing page)
- FastAPI - Python web framework
- LangGraph - Workflow orchestration
- Google Gemini AI - Image generation and text analysis
- Pydantic - Data validation
Trash-to-Impress/
├── frontend/ # Next.js React application
│ ├── app/ # Next.js app router pages
│ ├── components/ # React components
│ └── lib/ # API utilities
├── backend/ # FastAPI Python backend
│ ├── app/
│ │ └── build/ # Core workflow logic
│ └── generated_images/ # Generated product images
└── README.md # This file
- Node.js 18+ and npm
- Python 3.11+
- Google Gemini API key
- Navigate to backend directory:
cd backend- Create and activate virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install dependencies:
pip install -r requirements.txt- Create
.envfile with your API key:
GOOGLE_API_KEY=your_api_key_here
- Run the backend server:
uvicorn main:app --reloadBackend runs on http://localhost:8000
- Navigate to frontend directory:
cd frontend- Install dependencies:
npm install- Run the development server:
npm run devFrontend runs on http://localhost:3000
- Input: User describes their trash items and what they want to create
- Idea Generation: AI generates 4 creative upcycling ideas with images
- Selection: User picks their favorite idea
- Editing: User can draw on the image and describe changes via chat
- Iteration: AI regenerates the image based on feedback
- Finalization: User finalizes the design
- Guide Generation: AI generates tools, materials, and environmental impact info
- Export: User downloads a comprehensive PDF guide
The application emphasizes environmental benefits by:
- Calculating waste diverted from landfills
- Estimating carbon footprint reduction
- Highlighting resource conservation
- Promoting circular economy principles
- Educating users about upcycling benefits