fastest-growing-ai
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data β all from the browser, and deployed in milliseconds.
A simple, efficient Val Town application that analyzes and tracks the fastest growing AI repositories on GitHub.
- Real-time GitHub API Integration - Fetches latest AI repository data
- Growth Analysis Algorithm - Calculates growth scores with age-based multipliers
- Multiple Endpoints - Analyze, trending, test, and health check endpoints
- CORS Support - Works with web applications
- Growth Score = (Stars Γ· Days Old) Γ Age Multiplier
- Age Multipliers:
- β€7 days: 3.0x (explosive potential)
- 8-14 days: 2.0x (high momentum)
- 15-30 days: 1.5x (solid growth)
- 31+ days: 1.0x (established baseline)
- π₯ EXPLOSIVE: Growth score >20
- π HOT: Growth score 10-20
- π STRONG: Growth score 5-10
- β¬οΈ RISING: Growth score 2-5
- π STEADY: Growth score <2
Analyze AI repositories with growth metrics.
Parameters:
days(number): Analysis period (1-90, default: 7)limit(number): Result limit (1-100, default: 20)
Example:
curl "https://your-val.web.val.run/api/analyze?days=14&limit=30"
Get trending repositories categorized by growth rate.
Parameters:
limit(number): Results per category (1-50, default: 10)
Example:
curl "https://your-val.web.val.run/api/trending?limit=15"
Simple test endpoint to verify GitHub API connectivity and basic functionality.
Example:
curl "https://your-val.web.val.run/api/test"
Health check and system status.
Example:
curl "https://your-val.web.val.run/api/health"
{ "success": true, "query": { "days": 7, "limit": 20, "total_found": 150, "analyzed": 25, "created_since": "2024-11-26" }, "results": [ { "name": "user/ai-repo", "url": "https://github.com/user/ai-repo", "description": "Amazing AI project", "language": "Python", "owner": "user", "stars": 1250, "created_at": "2024-11-20T10:00:00.000Z", "days_old": 7, "stars_per_day": 178.57, "growth_score": 535.71, "growth_category": "EXPLOSIVE", "topics": ["ai", "machine-learning", "llm"] } ], "categories": { "explosive": [...], "hot": [...], "strong": [...], "rising": [...], "steady": [...] }, "summary": { "explosive": 3, "hot": 5, "strong": 7, "rising": 4, "steady": 6 } }
{ "success": true, "explosive": [...], "hot": [...], "strong": [...], "rising": [...], "steady": [...], "metadata": { "analysis_date": "2024-12-03T12:00:00.000Z", "total_repos": 25, "time_period": 30 } }
{ "success": true, "totalFound": 5000, "recentRepos": 15, "repositories": [ { "name": "user/ai-repo", "stars": 500, "language": "TypeScript", "description": "AI-powered tool", "url": "https://github.com/user/ai-repo", "created_at": "2024-11-15T00:00:00.000Z", "days_old": 18, "stars_per_day": 27.78 } ] }
- Create the val:
cd fastest_growing_ai vt create fastest-growing-ai ./
- Deploy:
vt watch # Auto-sync changes
- Copy the files to your Val Town project
- Configure HTTP trigger in Val Town UI
No environment variables are required for basic functionality. If you need higher GitHub API rate limits, you can optionally add:
# In Val Town dashboard: Settings β Environment Variables GITHUB_TOKEN=ghp_your_github_token_here
// JavaScript example
const response = await fetch('https://your-val.web.val.run/api/analyze?days=7&limit=10');
const data = await response.json();
console.log('Top growing repositories:', data.results);
# Python example import requests response = requests.get('https://your-val.web.val.run/api/trending?limit=5') data = response.json() print('Explosive growth repos:', data['explosive']) print('Hot trending repos:', data['hot'])
# Get top 20 growing repositories from last 7 days curl "https://your-val.web.val.run/api/analyze" # Get trending repositories by category curl "https://your-val.web.val.run/api/trending" # Test basic functionality curl "https://your-val.web.val.run/api/test" # Check system health curl "https://your-val.web.val.run/api/health"
Empty Results:
- Check the
/api/testendpoint first to verify GitHub API connectivity - Verify the date filter isn't too restrictive
- Check if GitHub API rate limits are hit
API Errors:
- Check
/api/healthfor GitHub API status - Verify User-Agent header is properly set
- Check GitHub API rate limits
Slow Response:
- GitHub API calls can take time
- Consider using smaller limits
- Check network connectivity
- Test Basic API Call:
curl "https://your-val.web.val.run/api/test"
- Check System Health:
curl "https://your-val.web.val.run/api/health"
- Monitor GitHub API Limits:
curl "https://api.github.com/rate_limit"
- Uses GitHub's search API with
topic:aifilter - Filters by creation date and star count
- Sorts by star count (default) or custom sorting
- Calculates days since repository creation
- Computes stars per day
- Applies age-based multipliers for growth score
- Categorizes repositories based on growth score
- Uses ISO 8601 date format for GitHub API
- Converts user-friendly parameters to GitHub format
- Filters repositories created within specified time period
- Provides consistent JSON responses
- Includes error handling and status reporting
- Adds CORS headers for web application compatibility
This project is open source and available under the MIT License.
Built with β€οΈ for the AI community π€β¨
Simple, efficient, and focused on providing the best AI repository growth insights.