Skip to content
Alzubair Alojali
العربيةWhatsApp
ALL WORK · 03
Creative studio

Aura

Client
Personal product
Status
Private · client system
Platform
Web
Stack
LaravelNext.jsOpenAI GPT Image
Aura · Composing an image: channel, format, and the prompt
Composing an image: channel, format, and the prompt

The brief

Teach it your brand once, then generate on-brand social creative on demand: the right size, the right voice, every time.

Generic image tools forget who you are: every asset comes out in a different style, off-palette and off-voice, and someone has to fix it by hand before it can ship.

What I built

A brand-aware image studio. Define a brand: its colours, tone, industry, target audience and logo treatment, and Aura composes social imagery that stays on-brand. Pick a channel and a format, describe what you want, and it generates the asset ready to publish.

A gallery that stays on-brand

Every generated asset lands in the brand's gallery: real campaign creative, consistent in palette and voice across the whole run.

Aura · A brand's generated gallery: real campaign creative
A brand's generated gallery: real campaign creative

Another take, one click away

Finished assets ship with regenerate, edit-prompt and download. When a shot needs another take, the loop is built in.

Aura · A finished asset with regenerate / edit-prompt / download
A finished asset with regenerate / edit-prompt / download

The brand, described once

Description, tone, industry and target audience live in a brand profile that conditions every generation after it.

Aura · A brand's profile: description, tone, industry, target audience
A brand's profile: description, tone, industry, target audience

Colours and logo as constraints

Brand colours and logo-overlay rules constrain the output. The system enforces the identity so nobody fixes assets by hand.

Aura · Brand colours and logo-overlay rules that constrain every generation
Brand colours and logo-overlay rules that constrain every generation

The hard part

Persisting a brand identity as structured context and feeding it into image generation so output stays consistent across campaigns; per-channel format presets (Instagram post, story and reel cover, Facebook, X, LinkedIn); and a regenerate / edit-prompt loop over OpenAI’s image model.

LaravelNext.jsOpenAI GPT Image

The result

On-brand creative on demand, consistent across campaigns, with a regenerate / edit-prompt loop when a shot needs another take.

Outcome

On-brand creative on demand.

Outcome

Consistent across campaigns.

Outcome

A regenerate / edit-prompt loop when a shot needs another take.

Have something like this in mind?

Usually replies within a day.
PREVIOUS PROJECT · ARChive · 10/15
NEXT PROJECT · SpecFlow · 12/15

For people who can't speak design: a conversation that ends with a working app.

READ THE CASE STUDY