Turn a single sentence into a complete, psychology-driven brand identity.
PsyDesign AI is an AI design partner that takes one idea and returns a full brand — a strategy report, a DALL·E 3 logo, font pairings, and a chat-ready brand persona — in seconds, on a high-performance FastAPI backend.
Overview · Features · Tech Stack · How It Works · Demo Notice · Getting Started · License
PsyDesign AI automates the early branding process end to end. You describe a business in plain language; the platform uses GPT-4o to build a structured brand-psychology report, feeds the logo concept into DALL·E 3 for a unique mark, and spins up an interactive brand persona you can talk to — and listen to. Every result is saved so you can revisit, compare, or delete past brands.
Strategy, visuals, and voice — produced in a single pipeline.
A structured strategy document generated from one prompt:
- Personality — brand archetype (e.g. The Hero, The Sage), tone of voice, and core values
- Visual identity — a live Google Fonts pairing, ready for the web
- Names & slogans — multiple unique brand-name and tagline options
- Narrative — a brand story plus a ready-to-post social bio
- Audience — a detailed target persona with demographics, interests, and pain points
- Marketing hook — an opening campaign concept to kick-start strategy
- Builds a precise image prompt from the report's
logo_concept_description - Produces HD 1024×1024 logos — minimalist, iconic, and versatile
- One-click download through a secure image-proxy endpoint
- Chat with your brand — a GPT-4o persona that embodies the new brand's tone
- On-topic by design — politely declines anything unrelated to the brand
- Text-to-speech — hear responses via OpenAI TTS-1-HD
- 6 languages — English, Spanish, French, Arabic, Chinese, and Hindi, for both UI and AI output
- Persistent history — every brand (report + logo) stored via SQLAlchemy
- Responsive UI — mobile-first, clean, and animated
| Layer | Technology | Role |
|---|---|---|
| Backend | Python 3.10+ | Core logic & async request handling |
| FastAPI | High-performance, type-safe API with auto OpenAPI docs | |
| SQLAlchemy | ORM for database access | |
| Pydantic | Request / response validation | |
| Uvicorn | ASGI server | |
| AI | GPT-4o | Brand report + chat persona |
| DALL·E 3 | Context-aware logo generation | |
| TTS-1-HD | Natural-sounding voice for the persona | |
| Frontend | JavaScript (ES6+) | Client logic, dynamic rendering, async calls |
| HTML5 & CSS3 | Structure and responsive, animated design | |
| Database | SQLite | Local history storage (swappable for PostgreSQL) |
flowchart LR
A[User prompt] --> B[FastAPI endpoint<br/>Pydantic validation]
B --> C[GPT-4o<br/>Brand report JSON]
C --> D[DALL·E 3<br/>Logo from concept]
C --> E[(SQLite<br/>save history)]
D --> E
E --> F[Frontend<br/>renders report, logo,<br/>fonts & chat]
- Input — the user submits a brand description.
- Validate — FastAPI receives the request; Pydantic checks the data.
- Strategy — a structured JSON prompt goes to GPT-4o, returning the brand report.
- Logo — the report's
logo_concept_descriptionbecomes a DALL·E 3 prompt → logo URL. - Persist — report JSON + logo URL are saved as a history item via SQLAlchemy.
- Render — the frontend parses the response and builds the results page, including font previews and the live chat window.
This repository is a demo build of PsyDesign AI.
- OpenAI API calls are replaced with mock data.
- The production API key and internal optimization scripts are removed for security.
- Full source and proprietary models are available under a separate purchase agreement.
For the full version or IP transfer, contact artinghorbanianainex@gmail.com.
- Python 3.10+
- Git
- An OpenAI API key (only needed for live generation)
git clone https://github.com/YourUsername/PsyDesign-AI.git
cd PsyDesign-AI# macOS / Linux
python3 -m venv venv
source venv/bin/activate
# Windows
python -m venv venv
.\venv\Scripts\activateCreate a requirements.txt in the project root:
fastapi
uvicorn[standard]
sqlalchemy
openai
httpx
jinja2Then install:
pip install -r requirements.txtThe demo runs on mock data with no key. To enable live generation, open app.py and set your key (around line 20):
# app.py
API_KEY = "YOUR_OPENAI_API_KEY"Security: in production, load the key from an environment variable or a secrets manager rather than hardcoding it.
uvicorn app:app --reloadOpen http://127.0.0.1:8000 in your browser. 🚀
Copyright © 2025 Artin Ghorbanian. All Rights Reserved.
This project and its source code are proprietary and confidential. Unauthorized copying, distribution, or use of this software, via any medium, is strictly prohibited.
