Inspiration

Generative AI has made content creation incredibly fast, but creative exploration is still surprisingly inefficient. As prompt engineers and creators, we found ourselves repeatedly generating, tweaking, discarding, and regenerating content with little understanding of why one version worked better than another. Most AI tools only preserve the final asset while completely throwing away the creative journey.

We wanted to change that. We set out to build a platform that treats prompt engineering like biological evolution. Instead of throwing away "failed" prompts, we wanted to build a system that remembers why they failed, evolves future generations using those exact lessons, and preserves the entire creative memory tree in a durable archive.


What it does

Mutatify is an autonomous creative evolution engine for AI media.

A user enters a single seed prompt to begin the experiment. Mutatify doesn't just run it once; it spawns a first generation of 8 distinct prompt "organisms". Our AI Critic evaluates each candidate, assigns a fitness score (0-100), extracts visual strengths/weaknesses, and details its evolutionary rationale. The bottom 4 candidates are eliminated, and the top 4 survive to mutate and combine styles into Generation 2. From this second generation, the fittest candidate is selected as the winner.

The entire evolutionary lineage—parent-child relations, critic reports, scores, timeline replays, and vector SVG thumbnails—is permanently archived in Backblaze B2. Users can dynamically replay the entire lineage graph via an interactive tree diagram, making the creative reasoning behind the final asset fully visible.


How we built it

We built Mutatify as a modern, full-stack monorepo:

  • Frontend: Next.js 15, TypeScript, Tailwind CSS, and Framer Motion for micro-animations. We integrated React Flow to build the interactive lineage graphs that map parentage and scores dynamically.
  • Backend: FastAPI (Python) handles backend orchestration and serves as the serverless bridge.
  • AI Orchestration: Genblaze coordinates the prompt evolution, mutation workflows, and client-api schemas. Google Gemini (gemini-2.5-flash) serves as our AI Critic, providing deep creative evaluation and reasoning.
  • Durable Storage: We use Backblaze B2's S3-compatible API to store and retrieve the complete JSON lineage trees and generated vector thumbnails.
  • Deployment: The entire monorepo is deployed seamlessly to Vercel, running both the Next.js frontend and Python FastAPI services as unified serverless endpoints.

Challenges we ran into

One of the trickiest challenges we hit was managing Backblaze B2's S3-compatible authentication. We initially tried using a standard B2 Master Key ID (which is 12 characters long), but B2's S3 endpoints strictly require a 25-character Application Key ID (starting with 005...). Solving this "Malformed Access Key ID" error taught us a lot about the inner workings of B2's permission layers.

On the frontend, laying out the React Flow lineages without nodes overlapping was another hurdle. We had to implement a custom spacing algorithm for coordinates between Generation 1 and Generation 2 so that the hierarchy of surviving and extinct organisms remains readable and visually stunning.


Accomplishments that we're proud of

  • We successfully built a full-stack, two-generation evolutionary pipeline for prompts.
  • We made AI reasoning transparent by displaying the AI Critic's detailed rationale directly on the candidate cards.
  • We integrated Backblaze B2 storage as a permanent memory layer for the creative lineage.
  • We deployed the Next.js frontend and FastAPI backend together on Vercel as a single cohesive project.

What we learned

We learned that creating better generative media isn't just about using larger models; it's about structuring the workflow. By organizing prompt iterations as a genetic tree, we can understand why certain compositions succeed while others fail.

Building Mutatify reinforced how critical orchestration, developer-friendly storage APIs (like Backblaze B2), and explainability are for the future of creative AI.


What's next for Mutatify

Our next goal is to extend the evolutionary loop from prompt strings to actual heavy media—evolving images, video, and audio assets directly using Genblaze's media utilities.

We also want to introduce reusable "Creative DNA" templates, collaborative lineage trees where multiple users can merge their prompt branches, and long-term memory so that future projects automatically learn from our previously archived Backblaze B2 generations.

Built With

Share this project:

Updates