Un fil de discussion r/SideProject avec 421 commentaires a débattu de la nécessité de valider avant de construire. Le consensus : rechercher sur Reddit des personnes qui demandent activement ce que vous prévoyez de construire. Si personne ne le demande, reconsidérez. Ce tutoriel automatise cette étape de validation en utilisant l'endpoint Reddit de Scavio.
Prérequis
- Clé API Scavio
- Python 3.8+
- Une idée de side project à valider
Parcours
Étape 1: Définir les requêtes de signaux de demande
Créez des requêtes de recherche qui indiqueraient une demande pour votre idée.
idea = 'invoice generator for freelancers'
demand_queries = [
f'{idea}',
'need invoice tool freelancer',
'invoice software recommendation',
'tired of manual invoices',
'looking for invoice generator',
]Étape 2: Recherchez sur Reddit via Scavio
Interrogez l'endpoint Reddit pour chaque signal de demande.
import requests, os
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}
def search_reddit_demand(query):
data = requests.post('https://api.scavio.dev/api/v1/search',
headers=H,
json={'platform': 'reddit', 'query': query}).json()
return data.get('results', [])Étape 3: Évaluez l'intensité de la demande
Comptez les publications, les upvotes et les commentaires comme signaux de demande.
def score_demand(results):
if not results:
return {'score': 0, 'posts': 0}
total_engagement = sum(
r.get('upvotes', 0) + r.get('comments', 0)
for r in results
)
return {
'score': len(results) * 10 + total_engagement,
'posts': len(results),
'engagement': total_engagement,
'top_subreddits': list(set(r.get('subreddit', '') for r in results[:10]))
}Étape 4: Générez un rapport de demande
Combinez tous les résultats des requêtes en une recommandation go/no-go.
def demand_report(idea, queries):
total_score = 0
all_subreddits = set()
for q in queries:
results = search_reddit_demand(q)
score = score_demand(results)
total_score += score['score']
all_subreddits.update(score.get('top_subreddits', []))
print(f'Query: "{q}" -> {score["posts"]} posts, score {score["score"]}')
print(f'\nTotal demand score: {total_score}')
print(f'Active subreddits: {", ".join(all_subreddits)}')
if total_score > 200:
print('Verdict: Strong demand. Consider building.')
elif total_score > 50:
print('Verdict: Moderate demand. Narrow the niche.')
else:
print('Verdict: Weak demand. Pivot or find a different angle.')Exemple Python
import os, requests
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}
def scan_demand(idea):
queries = [idea, f'need {idea}', f'{idea} recommendation', f'looking for {idea}']
for q in queries:
data = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
json={'platform': 'reddit', 'query': q}).json()
posts = data.get('results', [])
print(f'{q}: {len(posts)} posts')
scan_demand('invoice generator for freelancers')Exemple JavaScript
const res = await fetch('https://api.scavio.dev/api/v1/search', {
method: 'POST',
headers: {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'},
body: JSON.stringify({platform: 'reddit', query: 'need invoice tool freelancer'})
});
const data = await res.json();
console.log(`Found ${data.results?.length || 0} demand signals`);Sortie attendue
Reddit demand report: post count, engagement score, active subreddits, and go/no-go recommendation. 5 queries = $0.025 total cost.