This is a submission for the Sanity Challenge, Path Two: Vibe-Code Something Strange
What I Built
I built RemixForge AI, an AI-powered content remix workflow that turns one piece of content into multiple creative formats.
The idea is simple:
One story. Infinite remixes.
A creator can start with a video, story, article, or other source content. RemixForge AI organizes the content inside Sanity and creates structured remix possibilities such as:
- AI summaries
- Social media posts
- Short-video ideas
- GIF moments
- Captions
- Multilingual content
The interesting part is that AI generation is not treated as the final step.
RemixForge AI creates a structured workflow:
Create → AI Processing → AI Review → Human Review → Approve → Publish
AI creates the first version, while a human remains responsible for reviewing and approving the final content.
The project includes a custom dashboard and public showcase in addition to the embedded Sanity Studio.
Demo
Application
The project contains four main interfaces:
- Homepage — introduction to RemixForge AI
- Dashboard — AI Content Control Center
- Showcase — scenes and AI-discovered GIF moments
- Sanity Studio — structured content and workflow management
Demo Video
https://drive.google.com/file/d/1nxTfLu1T6v1iIzjaYw1G_ORqJb0nkoNl/view?usp=sharing
The demo shows:
- Opening RemixForge AI
- Opening Sanity Studio
- Opening the Remix Project
- Sending the project to AI
- AI-generated outputs appearing in Sanity
- Workflow moving through AI Review
- Human Review
- Approval
- Publishing
- Viewing the result in the Showcase
Code
GitHub repository: https://github.com/nandyshirshak-cloud/RemixForge-AI
[PASTE YOUR ACTUAL GITHUB REPOSITORY LINK HERE]
The project is built with:
- Next.js
- React
- TypeScript
- Sanity
- Sanity Studio
- GROQ
- Next.js API routes
- Sanity Document Actions
How I Used Sanity
Sanity is the structured content and workflow backbone of RemixForge AI.
Instead of storing everything as unstructured text, I modeled the remix process as structured documents.
Remix Project
A Remix Project stores the original content and its high-level state.
It includes fields such as:
- title
- description
- source type
- source URL
- workflow status
- AI summary
- mood
- target languages
- creation time
Scene
Scenes represent important moments detected or selected from the source content.
Each scene contains:
- scene number
- title
- description
- start time
- end time
- mood
- GIF-candidate status
AI Output
AI-generated results are stored as their own Sanity documents.
An AI Output can represent:
- summary
- social post
- short-video idea
- GIF idea
- translation
- caption
Each output also stores:
- language
- confidence score
- review status
- generation time
- reference to its Remix Project
GIF Moment
GIF Moments represent potentially reusable moments from the source content.
They contain:
- source scene
- start time
- end time
- AI reasoning
- generation status
- generated GIF URL
- approval information
Workflow Run
The workflow itself is also modeled as data in Sanity.
A Workflow Run tracks states such as:
Draft → AI Processing → AI Review → Human Review → Approved → Published
It also records:
- last action
- last actor
- assigned reviewer
- workflow history
- timestamps
This means the content and its editorial workflow live together as structured Sanity data.
Custom Sanity Features
I went beyond using Sanity only as a simple CMS.
The project includes custom document actions inside Sanity Studio.
For Remix Projects, there is a:
🤖 Send to AI
action.
This calls the application's AI processing API.
The API then:
- Reads the Remix Project from Sanity
- Updates the project workflow state
- Creates a Workflow Run
- Creates multiple AI Output documents
- Moves the workflow into AI Review
- Updates the project with the AI summary
Workflow documents also have actions for:
- 👤 Send to Human Review
- ✅ Approve
- 🚀 Publish
These actions update the structured workflow data and maintain workflow history.
--- Local: http://localhost:3000
Custom Interface
I also built a custom RemixForge AI dashboard instead of relying only on Sanity Studio.
The dashboard shows:
- project statistics
- AI output counts
- workflow states
- recent Remix Projects
- generated AI outputs
- human approval queue
- the complete AI → Human → Publish pipeline
There is also a separate Showcase interface that presents:
- detected scenes
- scene timelines
- AI-selected GIF moments
- workflow stages
This gives the structured Sanity content a user-facing creative interface.
Why Sanity?
Sanity works particularly well for this project because the application is not just about storing a final article or video.
The application needs to store the relationships between:
Projects → Scenes → AI Outputs → GIF Moments → Workflow Runs
Sanity allows these pieces to remain structured and connected.
The workflow can therefore be treated as content and data rather than only application state.
What I Learned
The biggest lesson from building RemixForge AI was that structured content becomes much more interesting when the content itself participates in a workflow.
Instead of:
AI → Final Answer
the project explores:
Content → AI Generation → Structured Outputs → Review → Human Decision → Publishing
Sanity became the place where those pieces could be modeled, connected and moved through the workflow.
I also learned that building a working AI-native application involves much more than generating text. The difficult part is making the generated results useful, reviewable and connected to the rest of the application.
Sanity Project Details
Sanity Project ID:
[PASTE YOUR SANITY PROJECT ID HERE]
Dataset:
production
The Sanity project contains the structured models used by RemixForge AI, including Remix Projects, Scenes, AI Outputs, GIF Moments and Workflow Runs.
Agent Session
This section is optional.
I did not use one of the supported Agent Session CLI transcripts for this project, so I am not claiming an agent session that I do not have.
Final Workflow
text
REMIXFORGE AI
│
▼
CREATE PROJECT
│
▼
🤖 SEND TO AI
│
▼
AI PROCESSING
│
┌──────────┼──────────┐
▼ ▼ ▼
SUMMARY SOCIAL GIF
POSTS MOMENTS
│ │ │
└──────────┼──────────┘
▼
AI REVIEW
│
▼
HUMAN REVIEW
│
▼
APPROVE
│
▼
PUBLISH
│
▼
SHOWCASE
Top comments (0)