Skip to content

Deepakkrishna-tech/GenDesign

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📡 GenDesign: The Design Intelligence Co-Pilot

GenDesign is an AI-first, agent-powered design intelligence tool that transforms inspirational creatives (like ads, social media posts, and brand visuals) into actionable design blueprints. It empowers solopreneurs, content creators, and non-designers to deconstruct, understand, and recreate professional designs—without needing expert tools like Figma or Photoshop.


🎯 Vision

In the creative world, inspiration is everywhere, but implementation is a bottleneck. GenDesign acts as your design analyst, providing an X-ray view of any creative. It breaks down complex visuals into their fundamental components—colors, fonts, layout, and assets—making professional design principles accessible to everyone. The goal is to turn inspiration into action, instantly.


🚀 Features

  • Design Blueprint Extraction: Converts images into structured JSON blueprints.
  • Human-Readable Design Briefs: Generates Markdown briefs for easy understanding.
  • Agentic Workflow: Powered by LangGraph for seamless task orchestration.
  • Multi-Modal AI: Utilizes GPT-4o for both vision and text analysis.

🛠️ Tech Stack

Layer Technology/Library Purpose
Orchestration LangGraph, LangChain Building the agentic state machine.
LLM Provider OpenAI GPT-4o for vision and text generation.
Backend FastAPI, Uvicorn Asynchronous API server.
Frontend Streamlit Interactive user interface.
Data Validation Pydantic Schema definition and data validation.
Dependency Mgmt Poetry Package management and virtual environments.
Containerization Docker, Docker Compose For containerized deployment.

📂 Project Structure

GenDesign/
├── .env                  # Local environment variables (API keys)
├── .gitignore
├── poetry.lock           # Exact versions of dependencies
├── pyproject.toml        # Project metadata and dependencies
├── README.md             # This file
│
└── src/
    ├── __init__.py
    ├── agents/             # Contains individual agent functions
    │   ├── __init__.py
    │   ├── blueprint_writer.py # Agent 2: Converts JSON to Markdown
    │   └── visual_analyst.py   # Agent 1: Extracts JSON from image
    │
    ├── api/                # FastAPI routing logic
    │   └── routes.py         # Defines the /generate-blueprint endpoint
    │
    ├── core/               # Core application logic and schemas
    │   ├── __init__.py
    │   ├── graph.py          # LangGraph state machine definition
    │   └── schemas.py        # Pydantic models for state and data structures
    │
    ├── app.py              # Streamlit frontend code
    ├── config.py           # Application settings management
    └── main.py             # FastAPI application entry point

🛠️ Local Development Setup

Prerequisites

  • Python 3.11+
  • Poetry for dependency management.

Installation Steps

  1. Clone the repository:

    git clone <your-repository-url>
    cd GenDesign
  2. Install dependencies: This command will create a virtual environment and install all necessary packages from pyproject.toml.

    poetry install
  3. Configure Environment Variables: Create a .env file in the project root by copying the example:

    cp .env.example .env

    Open the .env file and add your OpenAI API key:

    # .env
    OPENAI_API_KEY="sk-..."

▶️ Running the Application

The application requires two separate terminal sessions: one for the backend and one for the frontend.

  1. Start the Backend Server:

    poetry run uvicorn src.main:app --reload

    The API will be available at http://127.0.0.1:8000.

  2. Start the Frontend Application:

    poetry run streamlit run src/app.py

    The web app will be available at http://localhost:8501.


🌐 API Endpoint

POST /api/generate-blueprint

  • Description: Accepts an image, processes it through the agentic pipeline, and returns the results.
  • Request Body:
    • Content-Type: multipart/form-data
    • image: The image file (e.g., JPEG, PNG).
  • Successful Response (200 OK):
    {
      "design_blueprint": { ... },
      "human_readable_brief": "..."
    }
  • Error Response (500 Internal Server Error):
    {
      "detail": "Error message"
    }

🔮 Future Roadmap

  • Executor Mode: Integrate with design tool APIs (e.g., Figma) to auto-generate design layers.
  • Teacher Mode: Enhance briefs with explanations of design principles.
  • Strategist Mode: Integrate a persistent vector database for brand alignment.

📜 License

This project is licensed under the MIT License. See the LICENSE file for details.

About

Design Intelligence Co-Pilot, that acts like an X-ray for any creative by it's Deconstruction Engine

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published