This build has been on my list since Day 3.
Three weeks ago I posted my client onboarding pipeline. A commenter read it carefully and asked a question that stopped me in my tracks:
"The space has a lot of tools for the work side but almost nothing for evaluating the client side before committing. What's the specific problem you're solving for freelancers?"
I didn't have a full answer that day. So I wrote it down, added it to my build list, and kept going.
Today I built it.
Meet ClearVet.
## The Problem
Imagine you run an AI automation business. Enquiries come in every day. Most are not a good fit. Wrong budget. Vague problem. Unrealistic timeline. Industries you cannot help with.
To figure out which ones are worth your time you have to read every single one manually, ask follow up questions, think about it, and decide. Twenty enquiries a week is hours of screening before you do any real work.
ClearVet automates that entire process.
## The Full Pipeline
Potential client fills Typeform
↓
n8n receives submission via webhook
↓
ClearVet FastAPI endpoint
↓
Claude evaluates across 6 dimensions as background task
↓
Score calculated — HIGH, MEDIUM, or LOW
↓
Slack message sent with dimension scores and approval buttons
↓
Human approves or rejects via API
↓
Decision logged to PostgreSQL with timestamp and notes
## The 6 Evaluation Dimensions
Budget Fit: is the budget realistic for the solution needed?
Problem Clarity: how well defined and specific is the problem?
Timeline Realism: is the timeline actually achievable?
AI Readiness: is the client ready to adopt AI solutions?
Industry Fit: does the industry align with our capabilities?
Growth Potential: what is the long-term revenue potential?
Claude scores each dimension 0-10 with reasoning. Overall score determines the recommendation tier.
## A Real Evaluation Output
{
"company_name": "Nairobi Logistics Ltd",
"overall_score": 7.5,
"recommendation": "high",
"scores": {
"problem_clarity": {"score": 9, "reasoning": "Problem is exceptionally well-defined"},
"growth_potential": {"score": 8, "reasoning": "200 reports daily suggests high volume"}
},
"status": "approved",
"approved_by": "Cess"
}
## What Makes This Different
Human in the loop. Every evaluation requires a human decision before any action is taken. Claude does the analysis. You make the call.
Full audit trail. Every evaluation, score, dimension reasoning, decision, and timestamp stored in PostgreSQL. Nothing disappears.
Background processing. The API responds immediately. Claude evaluates in the background. Slack notification arrives when ready.
Real intake form. Connected to Typeform via n8n webhook. The same form a real potential client would fill out.
## What This Is Worth
A system like this for one agency is a KES 80,000-150,000 setup fee. It replaces hours of manual screening every week. The ROI is immediate and measurable.
37 more to go.
🔗 Full project on GitHub → https://github.com/mbuguacessy-glitch
Top comments (3)
Shipping the thing a commenter asked for on Day 3 is underrated, the question already proved a real person cared. Screening enquiries before they eat your week is a real problem, the manual version quietly costs freelancers hours. How do you handle a borderline-fit enquiry without auto-rejecting a client who would have been great?
Great question and honestly the reason I kept a human in the loop.
A MEDIUM score doesn't trigger a rejection, it triggers a review. The Slack notification shows the full dimension breakdown so if budget scores low but problem clarity and growth potential score high, you can see that instantly and make a call the system can't make for you.
Next version I want to build: borderline clients automatically get one targeted follow-up question based on whichever dimension scored lowest. Turn the grey zone into a conversation rather than a dead end.
Turning the grey zone into a follow-up question instead of a dead end is the part I'd build first too, it's where most screening tools quietly lose good clients. The thing I'd watch is keeping that follow-up curious instead of interrogating, since a low-budget enquiry asked the wrong way just hands you back the rejection you were trying to avoid.