Skip to content
Case study 06, all workAI brand workflow

Bonnet

2025Shipped

An AI brand-development tool that turns a creative brief into research, strategy, creative direction, moodboards and a document a team can use.

RoleBackend execution flow and much of the frontend

Team
Entropy Labs team, for a client
Timeline
2025
Stack
Django, Channels, PostgreSQL, Next.js, React, OpenRouter, Supabase
Source
Private, client work

What came of it

  1. 01Long-running generation you can watch, cancel and rerun step by step
  2. 02Research grounded in a narrow library of relevant case-study material
  3. 03Exports that come out clean, with citations, however messy the model output was

Bonnet takes a creative brief (business, audience, competitors, goals, tone) and runs it through research, strategy, creative direction and moodboards, ending in a document a brand team can review and hand on. It was a team project for a client. I owned most of the backend execution flow and a good part of the frontend.

Long jobs that stay understandable

A full run takes a while. The backend treats it as a series of steps with their own state, streams progress to the browser over websockets, and supports cancelling and rerunning a single step without starting over. The goal was that someone watching it always knows what stage it's in, what changed on a rerun, and where the output lives.

Normalizing model output

Model output arrives as a mix of markdown, half-structured fragments and generated text, and it has to be normalized before it can be shown or exported. Without that layer the product looks broken even when the model technically answered.

Narrow retrieval

The research step searches a focused library of case-study material. A narrow contract like that is easier to reason about, and it keeps the research grounded in examples that matter for brand work.

Assets and exports

Moodboards, reports and images have to survive the trip from generation to storage to review to PDF export. File handling, metadata and asset formats the frontend could rely on took as much care as the text pipeline.

Agreeing on what a project is

Most of the work in a product like this goes into keeping a long run understandable and interruptible, so people trust what comes out of it. Bonnet only started to feel coherent once execution state, retrieval, assets and exports all agreed on what a project was.

Next projectGo Load BalancerA small HTTP load balancer and dashboard in Go, built to understand what a reverse proxy actually does before trusting one.