← Tutte le idee Strumenti online

FriendFilter

Un'estensione di Chrome per fare pulizia tra amici e gruppi Facebook

Incasso mensile: 8200 USD (fonte indicata nella scheda)

Cosa fa

Estensioni per il browser che aiutano a gestire amici e gruppi su Facebook: trovare chi non interagisce più, organizzare, fare pulizia.

Come guadagna

Abbonamento per le funzioni Pro, con circa 390 abbonati. Si fa trovare dallo store delle estensioni di Chrome.

Rendilo tuo

  • La stessa idea per un'altra piattaforma, dove serve: gestire i follower di Instagram o i contatti di LinkedIn.
  • Attenzione: le estensioni che automatizzano azioni sui social possono violare le loro regole; meglio funzioni che aiutano a organizzare, non ad automatizzare.

Le frasi da scrivere all'AI

1. Base del sito e grafica

Crea un'app web in italiano chiamata "Pulizia Amici": aiuta a mettere ordine tra gli amici di Facebook analizzando il file di dati che Facebook stesso permette di scaricare, senza mai chiedere la password e senza automatismi sul profilo. Usa React, Vite, TypeScript e Tailwind CSS.

Pagine da creare:
1. Pagina iniziale con come funziona in 3 passaggi e il prezzo
2. Guida illustrata per scaricare i propri dati da Facebook (Centro gestione account > Scarica le tue informazioni, formato JSON)
3. Analisi: si carica il file e tutto viene letto nel browser
4. Risultati: amici per anno, amici mai sentiti, elenchi da sistemare
5. Pagina privacy chiara

Stile: rassicurante e pulito: sfondo bianco, blu #2563EB, verde #16A34A per i messaggi di privacy, carattere "Inter", grafici semplici e grandi. Nessuna immagine generica di stock.

Tutto deve funzionare perfettamente da telefono. Tutti i testi in italiano, chiari e senza parole tecniche.

2. Database, account e sicurezza

Collega il progetto a Supabase e attiva la registrazione con email e password.

Crea queste tabelle:
- nessuna tabella per i dati di Facebook: il file viene letto solo nel browser e non viene mai caricato sul server
- "profili": solo piano (gratis o completo) e data di acquisto, collegato all'utente

Regole di sicurezza obbligatorie:
- il file di Facebook non deve mai lasciare il computer dell'utente: niente caricamenti, niente invii
- il piano non si modifica dal browser

Usa esattamente il codice SQL che trovi nei "Dettagli tecnici" di questa scheda: eseguilo nel SQL Editor di Supabase prima di continuare, poi collega le pagine alle tabelle.

3. Analisi del file nel browser

Crea la pagina di analisi: l'utente trascina il file .zip o i file JSON scaricati da Facebook. Leggili nel browser (con la libreria JSZip per lo zip) e cerca gli elenchi di amici, amici rimossi e richieste in sospeso (codice di lettura nei Dettagli tecnici). Mostra ben visibile: "Il tuo file non viene caricato: lo legge solo il tuo browser".

Risultati: totale amici, grafico di quanti amici hai aggiunto ogni anno, elenco degli amici aggiunti più di 5 anni fa, richieste inviate ancora in sospeso, e ricerca per nome.

Il sito non agisce mai su Facebook: per ogni persona mostra solo un link al suo profilo, e l'utente decide lui cosa fare.

4. Elenchi da sistemare

Permetti di creare elenchi personali ("da tenere", "da rivedere", "colleghi") trascinando i nomi, salvati solo nel browser dell'utente.

Esportazione in CSV di qualsiasi elenco. Pagina di aiuto che spiega come usare le funzioni ufficiali di Facebook: elenchi di amici, "Amici stretti", limitare chi vede i post, smettere di seguire senza rimuovere.

5. Pagamenti con Stripe

Aggiungi un pagamento singolo di 4,99 € una volta sola. Il pagamento sblocca l'analisi completa, gli elenchi e l'esportazione CSV. Gratis si vedono solo i totali.

A pagamento riuscito il webhook imposta "piano" a "pro" nella tabella "profili", sulla riga dell'utente indicata in client_reference_id.

Per la sessione di pagamento e il webhook segui la guida "Pagamenti con Stripe" di Fattibile.

6. Controlli specifici di questo progetto

Oltre ai controlli della guida "Controllo finale", verifica in particolare:
1. Privacy: apri gli strumenti per sviluppatori del browser, scheda Rete, e carica il file: non deve partire nessuna richiesta che contiene i dati di Facebook.
2. Regole di Facebook: il sito non deve mai cliccare, rimuovere amici o leggere pagine di Facebook al posto dell'utente.
Correggi quello che non va e scrivimi cosa hai cambiato.

Dettagli tecnici

Lettura del file di Facebook nel browser

Apre lo zip scaricato da Facebook direttamente nel browser e cerca gli elenchi di amici. Cerca i dati per forma e non per nome del file, perché Facebook a volte cambia i nomi.

import JSZip from "jszip";

type Amico = { nome: string; aggiunto: Date };

// Cerca in un JSON qualsiasi le liste di oggetti con "name" e "timestamp"
function trovaPersone(dato: unknown, trovati: Amico[] = []): Amico[] {
  if (Array.isArray(dato)) {
    for (const x of dato) {
      if (x && typeof x === "object" && "name" in x && "timestamp" in x) {
        trovati.push({ nome: String(x.name), aggiunto: new Date(Number(x.timestamp) * 1000) });
      } else trovaPersone(x, trovati);
    }
  } else if (dato && typeof dato === "object") {
    for (const v of Object.values(dato)) trovaPersone(v, trovati);
  }
  return trovati;
}

export async function leggiAmici(file: File): Promise<Record<string, Amico[]>> {
  const zip = await JSZip.loadAsync(file);           // nessun caricamento: tutto in memoria
  const risultato: Record<string, Amico[]> = {};
  for (const [percorso, voce] of Object.entries(zip.files)) {
    if (!percorso.includes("friends") || !percorso.endsWith(".json")) continue;
    const nome = percorso.split("/").pop()!.replace(".json", "");  // es. "your_friends"
    risultato[nome] = trovaPersone(JSON.parse(await voce.async("string")));
  }
  return risultato;
}

Pezzi comuni a tutti i progetti

Glossario

CSV
Un file di testo con i dati separati da virgole, che si apre con Excel.
Elaborazione nel browser
I dati vengono letti dal computer dell'utente e non arrivano mai a nessun server: il modo più sicuro per la privacy.