Store Stock Checker
Ti avvisa quando l'iPhone che vuoi è disponibile nel negozio vicino
Incasso mensile: 15.900 USD (fonte indicata nella scheda)
Cosa fa
Manda un avviso quando un modello preciso di iPhone (colore e memoria) torna disponibile negli Apple Store scelti. Molto semplice, fatto da un fondatore solo.
Come guadagna
Abbonamenti da 5, 10 e 20 $ al mese, oltre 2.100 abbonati. Lanciato a ottobre 2026, in coincidenza con l'uscita dei nuovi iPhone: ha raggiunto 15.900 $ al mese in poche settimane. Cresciuto con SEO, Reddit e X. Incassi verificati con Stripe.
Rendilo tuo
- Per le uscite più attese in Italia: console, sneaker in edizione limitata, biglietti dei concerti tornati in vendita.
- Avvisi su Telegram o WhatsApp invece che per email.
- Anche il calo di prezzo, non solo la disponibilità.
Le frasi da scrivere all'AI
1. Base del sito e grafica
Crea un'app web in italiano chiamata "Torna Disponibile": un'app che controlla ogni pochi minuti la disponibilità di un prodotto molto richiesto (console, smartphone appena usciti) nei negozi online scelti e manda subito un avviso su Telegram o via email. Usa React, Vite, TypeScript e Tailwind CSS.
Pagine da creare:
1. Pagina iniziale con i prodotti più cercati e i prezzi
2. Registrazione
3. Nuovo avviso: prodotto, variante, negozi, canale di avviso
4. I miei avvisi con l'ultimo controllo e lo stato
5. Collega Telegram
Stile: rapido e chiaro: sfondo bianco, verde #16A34A per "disponibile", grigio per "esaurito", carattere "Inter", stato in grande. 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:
- "prodotti": nome, variante, negozio, indirizzo della pagina o dell'API, ultimo stato, ultimo controllo
- "avvisi": utente, prodotto, canale (email o Telegram), attivo
- "notifiche": avviso, quando, stato trovato
Regole di sicurezza obbligatorie:
- ogni utente vede solo i suoi avvisi
- i prodotti sono un elenco comune: un solo controllo per prodotto anche se lo seguono in mille
- 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. Un controllo per prodotto, mille avvisi
Il trucco che tiene bassi i costi: si controlla ogni prodotto una volta sola, non una volta per utente. Un cron ogni 2 minuti prende i prodotti seguiti da qualcuno e ne controlla la disponibilità (codice nei Dettagli tecnici).
Quando lo stato passa da "esaurito" a "disponibile" si avvisano subito tutti quelli che lo seguono: Telegram (istantaneo e gratis) o email.
Regole: controllare con calma (al massimo una richiesta ogni pochi minuti per negozio), usare le API ufficiali o i feed dei negozi quando ci sono, rispettare i termini d'uso e il file robots.txt. Mai comprare in automatico al posto dell'utente.
4. Avvisi e collegamento a Telegram
Per Telegram: l'utente apre il bot con un link che contiene un codice monouso, e il bot collega la chat al suo account. Da lì riceve gli avvisi con il link diretto al prodotto.
I miei avvisi: per ognuno l'ultimo controllo, lo stato e quante volte è tornato disponibile negli ultimi 30 giorni (utile per capire se vale la pena aspettare).
5. Pagamenti con Stripe
Aggiungi un abbonamento a 2,99 € al mese (3 avvisi) o 5,99 € al mese (illimitati). Gratis l'utente ha: un avviso via email. Con il piano Pro sblocca: più avvisi, Telegram e controlli più frequenti.
A pagamento riuscito il webhook porta l'utente al piano Pro; se l'abbonamento viene disdetto o non rinnovato lo riporta al piano gratuito.
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. Avvisi doppi: simula un prodotto che resta disponibile per un'ora e controlla che l'avviso parta una volta sola, non a ogni controllo.
Correggi quello che non va e scrivimi cosa hai cambiato.
Dettagli tecnici
Avvisare solo quando lo stato cambia
Un trigger sul prodotto: quando passa da esaurito a disponibile crea le notifiche per tutti gli avvisi attivi. Così non parte un avviso a ogni controllo.
create table prodotti (
id bigint generated always as identity primary key,
nome text not null,
negozio text not null,
indirizzo text not null,
disponibile boolean not null default false,
controllato_il timestamptz
);
create table notifiche (
id bigint generated always as identity primary key,
avviso_id bigint not null,
creata_il timestamptz not null default now(),
inviata boolean not null default false
);
create function tornato_disponibile() returns trigger language plpgsql as $
begin
if new.disponibile and not old.disponibile then
insert into notifiche (avviso_id)
select id from avvisi where prodotto_id = new.id and attivo;
end if;
return new;
end $;
create trigger su_cambio after update of disponibile on prodotti
for each row execute function tornato_disponibile();Mandare l'avviso su Telegram
Un bot di Telegram si crea gratis con @BotFather; il token del bot va solo nei segreti della Edge Function.
export async function avvisaTelegram(chatId: string, prodotto: string, link: string) {
const token = Deno.env.get("TELEGRAM_TOKEN")!;
await fetch("https://api.telegram.org/bot" + token + "/sendMessage", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
chat_id: chatId,
text: "✅ " + prodotto + " è di nuovo disponibile!\n" + link,
disable_web_page_preview: false,
}),
});
}
Pezzi comuni a tutti i progetti
Glossario
- Cron
- Un'operazione programmata che parte da sola a orari fissi, per esempio ogni lunedì mattina.
- robots.txt
- Il file in cui un sito dice quali pagine i programmi automatici possono visitare.
