MetadevXInnovate. Code. Create.MetadevXInnovate. Code. Create.

(01) The challenge

Powerful models, unusable interface

Luminaire had model access and a paying audience, but the product felt like a terminal. Prompts disappeared into a scrolling log, generations failed silently, and new users bounced before their first image.

  • · First successful generation took over 6 minutes for new signups
  • · No history: prompts and results were not recoverable
  • · Support load dominated by "did my image fail?"
Luminaire AI — The challenge

(02) Approach

Made the queue the centre of the design

Instead of hiding latency, we gave it a place on screen: every job has a visible state, a reason when it fails, and a retry that keeps the prompt intact. The gallery became the home surface, so returning users land in their own work.

  • · Job state machine with explicit queued / running / failed views
  • · Persistent prompt history with one-click reuse
  • · Component library built for dark and light generation views

(03) Outcome

Time to first image dropped under a minute

Activation improved immediately once people could see what the platform was doing. Repeat generations per session more than doubled, and the failure question largely left the support queue.

52s

Median time to first image

2.4x

Generations per session

-41%

Support messages

Luminaire AI — Outcome

(04) What we did

Prototyped the empty states before the happy path

We designed failure, loading and empty first - the states a generation tool lives in - then built the success path around them. It is the reason the launch felt finished rather than fast.

  • · State-first design: queued, failed, empty, results
  • · Model provider integration with graceful fallback
  • · Design system and component library handover
  • · Analytics on activation, not just traffic
Next projectLungo Travel→