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.