/shipit
Team consisting of four Shopify engineers/interns (UWaterloo, Ontario Tech) skilled in TypeScript/React, Python/Django, OpenAI/Cohere, STT/TTS and computer vision.
YouTube Video
Project Description
ShipIt - Cursor for Design: AI-Powered Figma Assistant
Bring Cursor-style autocomplete intelligence to Figma design workflows
A Figma plugin with FastAPI backend that provides intelligent component suggestions, automated design feedback, and AI-powered design tools using Google Gemini 2.5 Flash via Vertex AI.
Demo: As you design in Figma, the plugin automatically suggests the next component to add, generates contextual design feedback, and provides AI-powered design toolsβall powered by Gemini.
π― Project Overview
What it does: ShipIt is like Cursor for designβit watches your Figma canvas and proactively suggests components with autocomplete. It also generates AI design feedback as Figma comments and provides ADK-powered tools for design automation.
Why it matters: Designers spend hours on repetitive tasks and second-guessing layout decisions. ShipIt accelerates design workflows through intelligent autocomplete, automated design critique, and context-aware AI assistanceβunlocking a new pattern for AI-human collaboration in visual design tools.
π Judging Criteria
β Technical Excellence
Robust, Working Code:
- Full end-to-end demo: Install plugin β Design in Figma β Get autocomplete suggestions β Accept with Tab β Receive AI feedback
- Error handling, retries, and graceful fallbacks throughout
- No scaffolding or empty filesβ100% functional code
β Solution Architecture & Documentation
Repository Structure:
-shipit/
βββ backend/ # FastAPI backend
β βββ app/
β β βββ routers/ # API endpoints
β β βββ services/ # Business logic
β β βββ models/ # Data models
β β βββ core/config.py # Settings
β βββ main.py
β βββ requirements.txt
βββ assets/components/library.json # 24 components
βββ code.js # Plugin logic
βββ ui.html # Plugin UI
βββ manifest.json
Setup Steps:
# 1. Backend setup
cd backend && python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt
# 2. Configure .env
cp env.example .env
# Add: GOOGLE_CLOUD_PROJECT, GOOGLE_APPLICATION_CREDENTIALS
# 3. Start
python3 -m uvicorn app.main:app --reload
# 4. Load manifest.json in Figma Desktop
URLs:
- Backend:
http://localhost:8000 - API Docs:
http://localhost:8000/docs - Health:
http://localhost:8000/api/v1/health
β Gemini Integration
Model: gemini-2.5-flash via Vertex AI (us-central1)
4 Integration Patterns:
-
Component Autocomplete (
component_suggestions.py)
- Analyzes Figma context + 24-component library
- Returns JSON:
{should_suggest, component_name, node_id, placement_hint} - Temperature 0.3, 2048 tokens
-
Design Feedback (
vertex_ai.py)
- Chains: Context analysis β Critique β Figma comment
- Posts as positioned comment on canvas
-
ADK Tools (
adk_tools.py)
-
component_generator,auto_layout,color_palette, etc. - Structured prompts β JSON specifications
-
Real-time Suggestions (
adk_tools.py:45)
- Generates 5 autocomplete options
- Confidence scoring for ranking
β Impact & Innovation
Problem: Designers face blank canvas syndrome + repetitive component placement
Innovation:
- First Cursor-style autocomplete for design tools
- Context-aware pattern graph (Nav β Hero β Features β CTA)
- Automated design critique via Figma comments
- Smart placement using component relationships
Impact: 3x faster landing page creation (15min β 5min tested)
π Bonus Points
Human-In-The-Loop β
- Tab-to-accept/reject every suggestion (
code.js:670-779) - Accept/reject history tracked in
figma.clientStorage - Toggle auto-feedback on/off
- Clear comment history to reset
Google ADK β
- ADK tools in
adk_tools.py:24-35 - MCP WebSocket server (
mcp_server.py) - REST API:
/api/v1/tools/execute
Vertex AI β
-
VertexAIServiceclass (vertex_client.py:16) -
vertexai.init()with project + location GenerativeModel(gemini-2.5-flash)- Production service account auth
π Features & Limitations
Features:
- β Intelligent component suggestions
- β Autocomplete
- β Automated design feedback
- β ADK tools
- β Real-time context tracking
Limitations:
- β οΈ Figma Desktop only (no browser)
- β οΈ Single component file
- β οΈ English only
- β οΈ Landing pages focus
π¦ Technologies
Backend: Python 3.12, FastAPI 0.108, Vertex AI SDK 1.40, Pydantic 2.6, WebSockets 12.0
Frontend: Figma Plugin API 1.117, JavaScript ES6, HTML/CSS
Cloud: Google Vertex AI (us-central1), Cloud Auth
DevOps: Uvicorn, python-dotenv, Git
π Why ShipIt Should Win
- Only true Cursor-for-design - Autocomplete is novel
- Deep Gemini integration - 4 use cases (autocomplete, feedback, tools, chaining)
- Production-ready - Tested code
- All bonuses - HIL β ADK β Vertex AI β
- Real impact - 3x faster workflow
- Scalable pattern - Works for any visual tool
Prior Work
No prior work