Project Info
Inspiration
The art world is increasingly collaborative, but finding the right creative partners, negotiating terms, and managing logistics is a slow and often manual process. We were inspired by the promise of Agentic AI—systems that could act on behalf of users to find, coordinate, and follow through on creative collaborations. Fetch.ai's uAgents technology offered a perfect foundation to turn this into a reality. With artsee, we wanted to explore how artists could simply express their vision, and then let agents handle the rest.
What it does
artsee is an agent-powered creative collaboration platform that allows artists to build a personal creative profile (name, art style, preferences) which is stored in their own autonomous Fetch.ai uAgent. Once a profile is saved: The uAgent stores this user data on-chain and in the agent's memory. The information is displayed back to the user on a web app to confirm successful creation. The agent can then—via future roadmap—begin scanning for collaborations, negotiate timelines and royalties, and set up shared creative workspaces. It’s a step toward fully autonomous creative collaboration.
How we built it
We built artsee by combining: A React web application to collect user input (name and art style). The Fetch.ai uAgents SDK to instantiate a user-specific agent that holds and manages this data. The Agentverse for uAgent discovery and registration. Claude 4 as the voice of our LLMs, for A2A communication. Groq to speed up LLM Inference, allowing for speedy Agentic communication. Python back-end services to facilitate communication between the frontend and uAgent lifecycle methods. Agent message-handling and internal storage within the uAgent to persist user data.
Challenges we ran into
The biggest challenge we ran into was unfamiliar technologies: none of us had used Fetch.ai, uAgents, or Agentverse before. While documentation was helpful, setting up agents that could store and reflect back user data required learning a completely new ecosystem, understanding async agent messaging, and deploying within the Agentverse structure. Integrating agent responses with a React frontend was another technical hurdle—but one we overcame through trial, error, and iteration.
Accomplishments we're proud of
Successfully initialized a working uAgent capable of storing and returning custom user data. Integrated agent storage and logic with a modern web interface. Developed a minimal yet extensible prototype for future agentic collaboration systems. Took our first step into Agentic AI, building with real infrastructure instead of a simulation.
What we learned
We dove deep into the emerging world of Agentic AI and came away with concrete knowledge: How uAgents work, how they're registered, and how they maintain internal state. The design patterns for agent negotiation, autonomy, and messaging using the Fetch.ai stack. How to structure a frontend–agent interface to enable truly autonomous user-driven workflows. The value of decentralized, peer-to-peer automation for artistic communities.
What's next
Agent-to-agent collaboration matchmaking: Allowing uAgents to discover and propose matches for creative collaboration. Negotiation flows: Agents will handle creative agreements, deadlines, and compensation automatically. Smart contract integration: Automatically enforce royalties, ownership, and delivery timelines using Fetch.ai’s ledger layer. Workspace setup and nudges: Agents will create shared creative environments and prompt collaborators when needed. Creative AI support: Integrate Claude, Gemini, and generative models like MusicLM to support mood-based tagging, beat generation, and portfolio analysis. Get artsee deployed via Docker and GCP. Ultimately, artsee is just the beginning of a future where creators can focus on art while their agents handle the hustle.
ArtSee — Agentic Matchmaking for Creative Collaborations
You Create. We Connect.
ArtSee is an agent-based system that matches creators and negotiates collaboration terms using LLMs (Claude + Groq) on top of the uAgents framework.
Table of Contents
- Why ArtSee
- Features
- Architecture
- Tech Stack
- Screenshots
- Quickstart
- Configuration
- Data Models
- Dummy Profiles Schema
- Repo Structure
- Troubleshooting
- Security & Privacy
- Roadmap
- Contributing
- License
Why ArtSee
Finding the right creative collaborator is hard. ArtSee turns the search and early negotiation into a fast, AI-assisted workflow:
- You describe the project.
- A Matchmaker Agent ranks top fits from a talent pool.
- Two agents run a short negotiation loop to converge on scope, vibe, and timeline.
- You get a clean transcript, ready to move to human chat.
Features
- 🔎 Smart matching — Claude 4 ranks the top 3 collaborators for a query.
- 🤝 Agentic negotiation — Groq Llama-3 70B exchanges proposals/counter-proposals (up to 5 rounds).
- 🧠 Profile graph — creator profiles with tags, descriptions, and on-chain-friendly addresses.
- 📝 Conversation logging — transcripts saved to
logs/chat_log.txtwith a terminal===END===marker. - 🧰 Modular code — shared Pydantic models across agents; clean .env-based configuration.
- 🧪 CI-ready — formatting/lint hooks and a repo layout meant for teams.
Architecture
(Claude 4)
user_requestor ─────────────► matchmaker
│ │
│ best match address │
└───────────────◄───────────┘
negotiation (Groq Llama-3 70B, up to 5 rounds)
┌────────────────────────────────────────────────────┐
│ │
▼ ▲
video_director ◄────────────── proposals ────────────────┘
- Matchmaker: ranks & returns the best collaborator address.
- User Requestor: initiates negotiation and logs the convo.
- Video Director: replies with creative counters and constraints.
Tech Stack
Agents & Messaging: uAgents
Ranking LLM: Anthropic Claude 4
Negotiation LLM: Groq Llama-3-70B
Models: Pydantic (uAgents Model)
Config: .env via python-dotenv
Screenshots
Quickstart
1) Prerequisites
- Python 3.11+
- Anthropic & Groq API keys
2) Install
git clone <your-repo-url> && cd ArtSee
python -m venv .venv && source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
3) Configure
cp .env.example .env
# edit .env with:
# ANTHROPIC_API_KEY=...
# GROQ_API_KEY=...
# MATCHMAKER_ADDRESS=... # you’ll copy this after step 4
# COLLAB_QUERY="Looking for a hip-hop visualizer collaborator"
4) Run Agents (3 terminals)
Terminal 1 – Matchmaker
python agents/matchmaker_agent.py
# copy the printed address → paste into MATCHMAKER_ADDRESS in .env
Terminal 2 – Video Director
python agents/video_director_agent.py
# copy its printed address and (optionally) add to dummy_profiles/agents.json
Terminal 3 – User Requestor
python agents/user_requestor.py
Where’s the output?
Negotiation transcript is appended to logs/chat_log.txt. The line ===END=== marks completion for UI readers.
Configuration
All configuration lives in .env:
| Variable | Purpose |
|---|---|
ANTHROPIC_API_KEY | Claude 4 for ranking candidates |
GROQ_API_KEY | Groq Llama-3 for proposals/counters |
MATCHMAKER_ADDRESS | Address printed when matchmaker boots |
VIDEO_DIRECTOR_ADDRESS | Optional: shortcut to a known collaborator |
COLLAB_QUERY | Default text query sent by the user agent |
Data Models
class Request(Model):
query: str
class Message(Model):
body: str
class Proposal(Model):
content: str
round: int
class MatchResult(Model):
name: str
address: str
Dummy Profiles Schema
dummy_profiles/agents.json
[
{
"name": "Anya Sharma",
"tags": ["photographer", "nature", "documentary"],
"address": "agent1xxxxxxxx...",
"description": "Nature & documentary photographer"
},
{
"name": "Leo Martinez",
"tags": ["videography", "music videos", "drone"],
"address": "agent1yyyyyyyy...",
"description": "Cinematic R&B video director"
}
]
dummy_profiles/video_director.json
{
"name": "Leo Martinez",
"specialty": "Music videos, drone videography, cinematic storytelling",
"tools": ["DaVinci Resolve", "After Effects", "Sony FX3"],
"rate": "$1200/day"
}
Repo Structure
ArtSee/
├─ agents/
│ ├─ models.py
│ ├─ matchmaker_agent.py
│ ├─ user_requestor.py
│ └─ video_director_agent.py
├─ dummy_profiles/
│ ├─ agents.json
│ └─ video_director.json
├─ docs/
│ └─ images/
│ ├─ logo.png
│ ├─ profile-form.png
│ └─ agent-chat.png
├─ logs/ # negotiation transcripts
├─ .env.example
├─ requirements.txt
└─ README.md
Troubleshooting
AssertionError: Set MATCHMAKER_ADDRESS in .env
Run the matchmaker first and paste its printed address into.env.- No matches found
Ensure names inagents.jsonare realistic and that tags relate to the query. - Empty/partial logs
Check file permissions onlogs/and verify each agent is running without errors. - Keys not loading
Confirm.envexists and you started the shell with the virtualenv active.
Security & Privacy
- Never commit
.envor real API keys. - Scrub
logs/chat_log.txtbefore publishing transcripts. - Treat profile data as PII—request consent before making profiles public.
Roadmap
- Real-time UI that streams the negotiation
- Multi-agent marketplace (accept/decline top 3)
- Safety guardrails & cost tracking
- Docker Compose for one-command launch
- Persistent vector search over collaborator portfolio embeddings
Contributing
- Fork & create a feature branch.
- Keep commits scoped and descriptive (e.g.,
feat(matchmaker): add reranking prompt). - Add/adjust tests (if applicable), run formatters/linters.
- Open a PR with screenshots and a short demo clip.
License
MIT — see LICENSE.
Analysis
View
Metric
- 2
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- ExpressIn code
- HTMLIn code
- JavaScriptIn code
- PythonIn code
- ReactIn code
- AnthropicClaimed
- FlaskClaimed
6 of 8 appear in the indexed code. 2 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
76 KB
Source files
13
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
Ayush7970/Collab_AI_hack
22 files · 882 KB · @ 64b9ee1
Structure
Interface
2 files · 9%Screens, components and styles rendered to the user.
Application logic
10 files · 45%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- HTML38%
- JavaScript34%
- Python14%
- Markdown14%
- CSS0%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
artsee-app/package.json
npm · 9- @testing-library/dom
- @testing-library/jest-dom
- @testing-library/react
- @testing-library/user-event
- react
- react-dom
- react-scripts
- three
- web-vitals
backend/package.json
npm · 2- cors
- express
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.