A newer version of the Gradio SDK is available: 6.20.0
CraftPilot: Building a Multi-Agent Craft Business Assistant with a Single Small Model
How I built a tool for someone I know β a creative introvert who makes beautiful crafts but struggles to sell them.
The Problem
I know someone who crochets, embroiders, paints, and sews the most beautiful things. Friends and family constantly tell her: "You should sell these!" But she never does. Not because the work isn't good enough β it's because the selling part is overwhelming.
Writing product descriptions? Agonizing. Picking a fair price? Impossible. Crafting Instagram captions? Exhausting for an introvert. So the crafts pile up, gifted away or tucked into drawers, while she moves on to the next project.
I built CraftPilot to fix that.
The Solution
CraftPilot is a photo-in, listing-out tool. Upload a photo of your handmade craft, and you get:
- Catalog metadata β category, materials, colors, complexity, searchable tags
- Product copy β a title, short description, full description, and 3 Instagram captions
- Fair pricing β a price range based on material cost, labor time, and market rates
- Downloadable listing β export everything as an Etsy/Instagram-ready text file
- Agent traces β full transparency into what each AI agent did
The key constraint: everything runs on a single model (MiniCPM-V 2.6, ~8B parameters) via llama.cpp. No cloud APIs. No subscriptions. No sending your craft photos to OpenAI.
How It Works: The Multi-Agent Pipeline
CraftPilot uses a 4-agent pipeline, all powered by the same model:
Photo -> [Vision Agent] -> [Cataloger Agent] -> [Copywriter Agent]
-> [Pricer Agent]
- Vision Agent β Takes the photo and produces a detailed text description of the craft item (materials, colors, techniques, style)
- Cataloger Agent β Reads the description and outputs structured metadata as JSON (category, materials, tags, complexity)
- Copywriter Agent β Takes the catalog data and writes warm, authentic product copy and Instagram captions
- Pricer Agent β Considers materials cost, labor hours, complexity, and market rates to suggest a fair price range
Each agent has a specialized system prompt and outputs structured JSON via constrained generation. The pipeline streams results β you see the vision analysis appear first, then catalog data fills in, then copy and pricing.
The Technical Story
One Model, Four Agents
MiniCPM-V 2.6 is a multimodal model from OpenBMB that handles both vision (image understanding) and text generation. Running it via llama.cpp means:
- No GPU required (works on CPU)
- No API costs
- Full privacy β your photos never leave your machine
Why Not Just Use ChatGPT?
Fair question. Here's the difference:
- No account or subscription needed β privacy matters when selling your own work
- Structured, repeatable outputs β same format every time, not a wall of text
- Purpose-built workflow β pricing considers actual material costs and labor hours
- One-click export β download a ready-to-paste listing for Etsy or Instagram
What I Learned About Small Models
A small model is surprisingly capable when you give it:
- Clear, focused system prompts (one job per agent)
- Structured output constraints (JSON schema)
- Pre-computed math (the model can't reliably add, so the pricing template does the arithmetic)
Where it struggles: complex reasoning, nuanced pricing logic, and occasionally inconsistent JSON. Error recovery in the pipeline handles this gracefully β if one agent fails, you still get results from the others.
The Stack
- Model: MiniCPM-V 2.6 (~8B) via llama-cpp-python
- UI: Gradio 6.x with custom CSS
- Orchestration: Python async pipeline with Pydantic models
- Hosting: Hugging Face Spaces (CPU)
What's Next
- Better pricing with real market data integration
- Batch processing for multiple items at once
- Support for more craft types and regional pricing
Try It
CraftPilot is live on Hugging Face Spaces: Try CraftPilot
Built for the Build Small Hackathon 2026 β Backyard AI track. Single model, no cloud APIs, full agent transparency.
Built with love for someone who deserves to share her craft with the world.