Side project · AI agent
Tarima Carmesí
Good calls for musicians hide in scattered event pages and PDFs. I’m building an installable app whose Claude agent searches the web, reads each call’s official rules, and scores it against the artist’s profile. It never submits a form or pays a fee: the artist decides.
- Author
- Christian Arango
- Role
- Product Owner and builder, with Claude Code
- Platform
- Next.js · PWA
- Status
- In development · October 2026
The problem
Good calls hide in long rules with short deadlines
I started it for my own music project. Finding paid gigs, grants, and contests meant reading dozens of rule documents to learn who could apply, what it paid, and when it closed.
What I built
An agent that reads, and code that decides
- Agent
Reads the official sources
A Claude agent with web search and web fetch reads each call’s rules. The only thing it can do is record an opportunity.
- Scoring
Scores in code, not in the model
The agent rates four dimensions; code applies the weights, the vetoes, and a 14-day urgency flag, so the ranking is reproducible.
- Accounts
Several artists per account
Each artist is an isolated space, and every query filters by artist. Tests check that no artist can see another’s data.
See how the score is calculated
// Se calcula en código, no lo decide el modelo: el agente solo aporta las notas por dimensión.
export const WEIGHTS: Scores = { artistico: 0.25, economico: 0.25, visibilidad: 0.3, viabilidad: 0.2 };
export function verdict(total: number): Verdict {
if (total >= 75) return 'Prioridad alta';
if (total >= 60) return 'Buena';
if (total >= 45) return 'Moderada';
if (total >= 30) return 'Débil';
return 'No conviene';
}Decisions
The artist stays in charge, and the costs stay bounded
Read, never act
The agent doesn’t send forms, pay entry fees, or accept terms. Every application is the artist’s call.
Search runs at Anthropic
Web search and page reading happen on Anthropic’s side, so the server never fetches arbitrary URLs.
A daily search limit
Each artist gets three searches a day by default, so a shared install can’t run up the bill.
Where it stands
It runs locally, and a clean copy is ready for other artists
It runs on one computer with an embedded Postgres database, and the same schema moves to Vercel and Neon when it’s shared. One export command produces a clean copy that other artists can install.