chiamamial

soon.

App di analisi competitiva basata su AI: dal nome e dal sito di un'azienda individua i competitor diretti e indiretti per mercato e area geografica, li classifica con un punteggio di rilevanza e produce una sintesi esportabile.

Anno
2026
Settore
Competitive intelligence · SaaS
Ruolo
Ideazione, design & sviluppo

Sfida

Trasformare una ricerca competitiva lenta e manuale in una pipeline AI affidabile: profilare un'azienda, trovarne e verificarne i concorrenti reali sul web, classificarli e sintetizzare il panorama — il tutto senza sforare i limiti di durata del serverless.

soon. è un'applicazione web di analisi competitiva basata su AI che ho ideato e costruito per intero. A partire dal nome e dal sito di un'azienda, individua i suoi competitor diretti e indiretti per mercato e area geografica, li classifica e li ordina con un punteggio di rilevanza, e produce una sintesi esportabile.

L'idea: la mappatura dei concorrenti è un lavoro lento, manuale e ripetitivo. soon. lo trasforma in una pipeline automatica che parte da due informazioni e restituisce una shortlist strutturata, pronta da leggere ed esportare in CSV o Markdown.

Cosa fa

L'utente inserisce nome e sito dell'azienda (più mercato e area geografica, opzionali) e avvia l'analisi. soon. esegue una pipeline che:

  • Profila l'azienda leggendone il sito — categoria, clienti target, casi d'uso, segmento.
  • Cerca i competitor sul web per mercato e area geografica.
  • Estrae i nomi dei concorrenti dalle fonti e ne verifica i siti ufficiali.
  • Classifica i candidati (diretto / indiretto, affinità di segmento, score) con un modello AI.
  • Arricchisce le schede dei competitor migliori con pricing, target, feature e differenziatore.
  • Sintetizza il panorama competitivo in un executive summary.

La sfida tecnica: una pipeline che non può stare in una sola richiesta

Il cuore del prodotto è una pipeline lenta (~60–90 secondi) che su una piattaforma serverless non può girare in una singola richiesta HTTP per via dei limiti di durata. La soluzione che ho progettato è una macchina a stati guidata dal client: la ricerca è spezzata in fasi (profile → candidates → refine → enrich → summary → done), e ogni fase è una richiesta breve e indipendente che fa al massimo una chiamata AI.

Lo stato del job vive in uno store condiviso (Redis), così i passaggi sopravvivono anche se finiscono su istanze serverless diverse, e il client mostra i risultati in modo progressivo man mano che arrivano. Il rate limit si applica una sola volta, alla creazione del job, a prescindere da quanti step servano.

Affidabilità

Gran parte del lavoro è stato renderlo robusto, perché dipende da servizi esterni e da modelli AI instabili:

  • Client LLM difensivo — lista di modelli di fallback, retry con backoff, timeout per richiesta e deadline complessiva, riparazione del JSON imperfetto restituito dai modelli.
  • Degradazione graziosa — se una fase fallisce si tengono i risultati grezzi invece di far cadere tutta la ricerca; lo scraping ha un fallback automatico; la persistenza ripiega in memoria se il database esterno non c'è.
  • Sicurezza — guardia anti-SSRF sugli URL, protezione contro la CSV injection negli export, rate limiting, timeout su ogni chiamata di rete.

Scoring

Lo score finale di ogni competitor non si fida solo dell'AI: combina la rilevanza assegnata dal modello con la frequenza con cui quel concorrente viene citato da fonti indipendenti. Più fonti diverse lo nominano, più il segnale è reale — e le menzioni si contano sui confini di parola, così nomi corti non vengono confusi dentro altre parole.

Stack

Next.js e TypeScript, validazione con Zod, AI via OpenRouter, ricerca web con Tavily, scraping con Firecrawl, job store e rate limit su Redis, persistenza su Airtable. Interfaccia costruita a mano con un design system su misura — nessuna libreria UI esterna — tema dark e accent lime. Anche qui SEO e GEO curate: dati strutturati, sitemap, e un llms.txt che autorizza e guida i crawler AI.

Dall'architettura della pipeline al design dell'interfaccia, soon. è interamente progettato, scritto e messo in produzione da me.