How I Built a Developer Opportunity API in 3 Days with Xano + AI
An AI-powered API that matches developers with hackathons, jobs, and grants - built for the Xano Challenge
The Problem
I was tired of manually searching 10+ platforms every week:
- DevPost for hackathons
- LinkedIn for jobs
- Various grant databases
- Twitter for announcements
Why isn't there ONE API that aggregates all of this and tells me what's actually relevant to MY skills?
So I built one. In 3 days.
What I Built
The Developer Opportunity Aggregator API is a RESTful API that:
- Aggregates hackathons, jobs, grants, scholarships, and learning resources
- Matches opportunities to your developer profile using an intelligent algorithm
- Ranks results by how well they fit YOUR skills, experience, and interests
First AI Prompt used to almost fully build out the whole api backend
Build this API in Xano exactly as specified in this plan. Start with the database schema, then build endpoints in this order:[attached the plan thats in the project root]. Use XanoScript for the matching algorithm logic.
The Magic: Smart Matching
Instead of just filtering, the API calculates a match score (0-100) for each opportunity:
{
"title": "AI Hackathon 2025",
"match_score": 92,
"match_reasons": [
"Matches 3/4 required skills (TypeScript, Python, AI/ML)",
"Experience level is perfect fit (Advanced)",
"Aligns with 2/3 interests (AI, Backend)"
]
}
The algorithm weights:
- Skills Match (40%) - Do your skills match the requirements?
- Experience Level (30%) - Are you qualified?
- Interest Alignment (20%) - Does it match what you're looking for?
- Location (10%) - Remote-friendly? Relocation works?
The Tech Stack
- Xano - No-code backend for database + API
- AI-Assisted Development - Generated initial endpoint logic
- OpenAPI 3.1 - Full documentation spec
Why Xano?
I needed to ship fast. Xano let me:
- Design database schema visually
- Build REST endpoints without writing server code
- Focus on business logic (the matching algorithm)
Key Endpoints
1. Register Developer Profile
curl -X POST "https://api.example.com/api:v1/developers_register" \
-d '{
"email": "dev@example.com",
"skills": ["TypeScript", "React", "Python"],
"experience_level": "advanced",
"interests": ["AI", "Backend"]
}'
2. Get Personalized Matches
curl "https://api.example.com/api:v1/opportunities_matching?developer_id=YOUR_ID"
Returns opportunities sorted by match score!
3. Search with Filters
curl "https://api.example.com/api:v1/opportunities_search?type=hackathon&skills=Python"
The Matching Algorithm
Here's the core logic (simplified):
function calculateMatchScore(developer, opportunity) {
let score = 0;
// Skills (40% weight)
const matchedSkills = intersection(
developer.skills,
opportunity.required_skills
);
score += (matchedSkills.length / opportunity.required_skills.length) * 40;
// Experience (30% weight)
if (developer.level >= opportunity.required_level) {
score += 30;
} else {
score += 15; // partial credit
}
// Interests (20% weight)
const matchedInterests = intersection(
developer.interests,
opportunity.category
);
score += (matchedInterests.length / opportunity.category.length) * 20;
// Location (10% weight)
if (opportunity.remote || developer.willing_to_relocate) {
score += 10;
}
// Deadline bonus
if (daysUntilDeadline < 3) {
score += 5;
}
return Math.min(score, 100);
}
What I Learned
1. Data modeling is everything
Spent the first day just designing the schema. Worth it.
2. Test as you build
Created a Postman collection alongside development. Caught bugs early.
3. AI accelerates, doesn't replace
AI helped generate boilerplate. I still had to:
- Fix edge cases
- Handle null values properly
- Debug UUID parsing errors
What's Next?
- [ ] Connect real data sources (DevPost API, GitHub Jobs)
- [ ] Add email notifications for high-match opportunities
- [ ] Build a simple frontend
Try It Yourself
API Documentation: Documentation
Live API: https://xmsx-hkkx-nz6p.n7e.xano.io/api:v1
GitHub: Github
Postman Collection: Postman
Thanks for Reading!
If you're building something similar or have questions about the Xano + AI workflow, drop a comment below!
Built for the Xano AI-Powered Backend Challenge 2025

Top comments (0)