Skip to content

ktimsclustering/PlateStudio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

PlateStudio

An elegant web app for designers and marketing coordinators to visualize product packaging and hardware concepts across multiple physical and digital mediums β€” with strict visual, color, and thematic cohesion.

React 18 Vite Tailwind Express Gemini 2.5 License

Built with React (Vite), Tailwind CSS, and Express, with real-time prompt calibration powered by the Google Gen AI SDK (gemini-2.5-flash-image, a.k.a. Nano-Banana).


πŸ“‘ Table of Contents


🎬 Demo

Add a GIF or screenshot here once available.

./docs/preview.gif

⚑ Core Features

Multi-Medium Visual Alignment

Generates synchronized mockups across three standard channels simultaneously, so a single concept is rendered consistently across every surface a marketing team needs:

Channel Aspect Ratio Use Case
πŸͺ§ Roadside Billboard Display 16:9 Landscape Out-of-home advertising
πŸ“± Social Media Feed Post 1:1 Square Instagram, LinkedIn, Facebook
πŸ“° Print Newspaper Feature 4:3 Classic Plate Editorial and print spreads

Two Input Modes

  • Guided Form Mode β€” A multi-step configurator covering product dimensions, industry vertical, and physical surface descriptions. Great for structured briefs.
  • Freeform Open-Ended Mode β€” Unlimited conceptual typing. Describe devices (advanced gamepads, wearables, audio equipment, anything) with complete artistic freedom.

Dynamic Diagnostics & Fallbacks

A highly interactive SVG controller and vector blueprint render engine displays exact conceptual alignments when API quota limits or safety filters are triggered β€” the app never shows a broken state.

Interactive Technical Inspector

Clickable overlays reveal raw JSON API error logs, prompt variables, and runtime configuration β€” useful during prompt engineering and debugging.


πŸ—οΈ Architecture Highlights

  1. Zero-Flicker Full-Stack Proxy β€” All API requests are routed through the Node/Express backend (server.ts), keeping your GEMINI_API_KEY safe and invisible to browser inspection.
  2. Safe Fallback Vector Engine β€” When running without an active key or when quotas are hit, the app renders clean, themed SVGs (custom Gamepad with OLED cute-eye loops, AR Glasses, Audio Headphones, and more) so the UI stays demoable offline.
  3. Single-Command Dev Loop β€” npm run dev boots both the Express backend and the Vite frontend concurrently, with hot reload on both sides.

πŸ› οΈ Tech Stack

Frontend

  • React 18 + Vite
  • Tailwind CSS
  • Lucide Icons
  • Framer Motion

Backend

  • Node.js + Express
  • TSX (TypeScript execution)

Generative AI

  • Official @google/genai TypeScript SDK
  • Model: gemini-2.5-flash-image (Nano-Banana)

πŸš€ Getting Started

Prerequisites

1. Clone the repository

git clone https://github.com/<your-username>/platestudio.git
cd platestudio

2. Configure the environment

Create a .env file in the project root:

GEMINI_API_KEY=your_actual_gemini_api_key_here

⚠️ Never commit .env to version control. It is already listed in .gitignore.

3. Install dependencies

npm install

4. Start the dev server

npm run dev

This launches the Express backend and the Vite frontend together. Open http://localhost:3000 to access the interface.

Available Scripts

Command Description
npm run dev Start backend + frontend in development mode
npm run build Production build of the frontend
npm start Run the production server
npm run lint Lint the codebase

πŸ“ Project Structure

platestudio/
β”œβ”€β”€ src/                 # React frontend (components, hooks, styles)
β”œβ”€β”€ server.ts            # Express API proxy
β”œβ”€β”€ public/              # Static assets
β”œβ”€β”€ docs/                # Screenshots, GIFs, design notes
β”œβ”€β”€ .env                 # Local secrets (not committed)
└── package.json

🧯 Troubleshooting

GEMINI_API_KEY is undefined Make sure .env exists in the project root and that you've restarted npm run dev after creating it.

Port 3000 already in use Either stop the conflicting process or set a new port via PORT=3001 npm run dev.

API quota or safety-filter errors This is expected behavior under heavy use. The Safe Fallback Vector Engine will take over and render themed SVGs so you can keep demoing the UI.

Windows-specific install issues Run your terminal as Administrator and ensure your Node version is 18+. The TSX runtime requires modern Node internals.


πŸ—ΊοΈ Roadmap

  • Export mockups as a single PDF brief
  • User-uploadable reference images
  • Brand-kit presets (color palette + typography lock)
  • Additional channels (mobile app screen, packaging die-line, OOH bus-stop)
  • Persisted history of generated concepts

🀝 Contributing

Contributions, bug reports, and feature requests are welcome. To contribute:

  1. Fork the repo and create a feature branch (git checkout -b feat/your-feature)
  2. Commit your changes (git commit -m "feat: add your feature")
  3. Push to your fork (git push origin feat/your-feature)
  4. Open a Pull Request

Please follow the existing code style and include a clear description of what your change does.


πŸ“„ License

Released under the MIT License.

About

A modern React & Node.js application to design and coordinate multi-medium marketing campaigns with strict visual cohesion using the Gemini 2.5 Image API.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages