🚀 My Project Story: Building ArtisanTrust 🌟 Inspiration
ArtisanTrust was born from a simple observation: 5-star ratings don’t save you during a real emergency.
While researching home-service platforms, I noticed a recurring problem:
A plumber may have excellent reviews… but doesn’t work at night.
An electrician might be highly rated… but can’t handle storm-related failures.
Renovation experts often appear higher than emergency specialists in search results.
And in a crisis, the context matters more than the rating.
The spark came when I realized:
“What if we could engineer a rating system that adapts to urgency, conditions, and stress level of the situation?”
That idea became the foundation of ArtisanTrust, the first platform that ranks professionals using context-aware intelligence, not just reviews.
📚 What I Learned AI & Natural Language Processing
I learned how to extract urgency, problem types, and emotional cues from user queries. For example, the sentence: "URGENT – water flooding entire bathroom" triggers high-stress weighting and emergency skill detection.
Real-Time Context Modeling
I discovered how to convert factors like:
availability,
service specialization,
emergency history in reviews,
into numerical weights that feed a unified score.
API Integration & Data Engineering
Working with Yelp Fusion API taught me:
how to normalize messy business data,
how to merge absent fields,
and how to design fallback heuristics.
Mathematical Scoring Systems
The CAS Score became a full mathematical model view image png
Combining reviews, context, NLP, and availability made the model truly intelligent.
🛠️ How I Built ArtisanTrust
- Data Collection with Yelp Fusion API
I fetched:
star ratings
review text
business categories
opening hours
emergency keywords
Then I standardized everything into a unified format to feed the scoring engine.
- The NLP Engine
I built a custom rule-based + keyword-weighted NLP system that detects:
urgency (urgent, asap, emergency…)
hazard type (flood, fire risk, outage…)
stress indicators (water rising, sparks, leak severity…)
Which adjusts the weighting of the contextual score.
- CAS Score Computation
I designed a dynamic scoring pipeline where:
emergency queries increase the weight of availability and past emergency reviews
non-emergency queries increase the weight of craftsmanship reviews
This adaptability is what makes ArtisanTrust unique.
- Frontend Interface (Vercel)
The UI:
accepts natural-language emergency descriptions
displays ranked professionals
shows AI evidence badges explaining each ranking
Transparency builds trust — that became a core design rule.
- Backend Logic (PythonAnywhere)
I implemented:
API request handlers
NLP processing
CAS scoring functions
caching for faster load times
The architecture stays modular to allow future improvements (like user account data or more APIs).
⚠️ Challenges I Faced
- Missing Data & Inconsistencies
Many businesses don’t explicitly state "emergency service". I had to detect it indirectly through reviews. Example: "Came at 2am, saved us from a major flood" → triggers Emergency Availability tag.
- Fairness in Ranking
New businesses with few reviews were getting penalized. This created fairer, more stable ratings.
- Performance Issues
Calling Yelp + NLP + reranking caused slowdowns. I solved it by:
adding caching,
reducing unnecessary API calls,
using async rendering,
optimizing my NLP pipeline.
- Designing a Trustworthy Explanation System
Users must understand why a professional ranks #1. Creating readable, human-friendly “AI Evidence Explanations” was harder than expected, but essential.
🎉 Conclusion
ArtisanTrust taught me how to merge AI, math, APIs, and UX to solve a real pain point: finding the right professional when every second counts.
More importantly, it taught me that:
Intelligent matching requires understanding the human context — not just the data.
This project represents the intersection of technology and empathy, and I’m excited to continue pushing it forward.
Log in or sign up for Devpost to join the conversation.