Replayed
Il servizio di montaggio video per YouTuber, senza abbonamento
Incasso mensile: 15.525 USD (fonte indicata nella scheda)
Cosa fa
Servizio di montaggio video per YouTuber: si carica il girato, si parla direttamente con il montatore e si riceve il video finito. Si paga a lavoro, senza abbonamento.
Come guadagna
Pagamento per ogni video, quasi 1,5 milioni di dollari incassati in totale dal 2020 e circa 15.500 $ negli ultimi 30 giorni. Nato nel Regno Unito. Incassi verificati con Stripe.
Rendilo tuo
- Per creator italiani, con montatori italiani e consegna in 48 ore.
- Pacchetto "video lungo + 5 Shorts" con l'AI che prepara il primo taglio.
- Per aziende: video di formazione interna e presentazioni.
Le frasi da scrivere all'AI
1. Base del sito e grafica
Crea un'app web in italiano chiamata "Montato": una piattaforma per un servizio di montaggio video su richiesta: il creator carica il girato e le istruzioni, paga il lavoro, chatta con il montatore e riceve il video con al massimo 2 revisioni. Usa React, Vite, TypeScript e Tailwind CSS.
Pagine da creare:
1. Pagina di vendita con esempi prima/dopo e prezzi per durata
2. Nuovo lavoro: caricamento dei file, istruzioni, video di riferimento
3. Stato del lavoro e chat con il montatore
4. Revisione: commenti sul video al secondo preciso
5. Area montatori: lavori assegnati e compensi
Stile: da studio video: sfondo #111827, ciano #22D3EE, bianco, carattere "Inter", lettore video 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:
- "lavori": cliente, tipo, durata finale, istruzioni, prezzo, stato (pagato, in lavorazione, consegnato, in revisione, chiuso)
- "file": lavoro, girato o consegna, percorso
- "commenti": lavoro, secondo del video, testo, risolto
- "montatori": compenso, lavori in corso
Regole di sicurezza obbligatorie:
- il cliente vede solo i suoi lavori
- il montatore vede solo i lavori assegnati
- massimo 2 revisioni incluse, le successive a pagamento
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. Caricamento, lavoro e revisioni
I file grandi (anche decine di GB) si caricano a pezzi e riprendibili, direttamente nello storage (per esempio con il protocollo tus di Supabase Storage o su Cloudflare R2): se cade la connessione si riparte da dove si era.
Il cliente paga con Stripe e il lavoro va al montatore libero con meno lavori in corso. L'AI aiuta il montatore: trascrizione del girato con i tempi, segnalazione di pause e ripetizioni da tagliare, proposta di titoli e capitoli.
Revisione: il cliente guarda il video e lascia commenti a un secondo preciso ("qui taglia"), come nei programmi professionali.
4. Area montatori
Il montatore vede la coda, i file, le istruzioni e i commenti da risolvere; segna "consegnato". Compenso calcolato per lavoro e pagato a fine mese.
Il margine sta nella differenza tra prezzo e compenso, e nell'AI che fa risparmiare tempo al montatore.
5. Pagamenti con Stripe
Aggiungi un pagamento singolo di da 49 € per un video fino a 10 minuti finali, 89 € fino a 20 minuti. Montaggio del video con 2 revisioni incluse e consegna in 72 ore.
A pagamento riuscito il webhook imposta "stato" a "pagato" nella tabella "lavori", 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. Caricamento: interrompi a metà il caricamento di un file di 5 GB e riprendi: deve ripartire da dove era arrivato.
Correggi quello che non va e scrivimi cosa hai cambiato.
Dettagli tecnici
Caricare file enormi a pezzi, riprendibili
Con tus-js-client e lo Storage di Supabase: il file si manda in pezzi da 6 MB e, se la connessione cade, riparte da dove era.
import * as tus from "tus-js-client";
import { supabase } from "./supabase";
export async function caricaGirato(file: File, lavoroId: string, avanzamento: (p: number) => void) {
const { data } = await supabase.auth.getSession();
return new Promise<void>((ok, no) => {
const upload = new tus.Upload(file, {
endpoint: import.meta.env.VITE_SUPABASE_URL + "/storage/v1/upload/resumable",
retryDelays: [0, 3000, 5000, 10000, 20000],
headers: { authorization: "Bearer " + data.session!.access_token, "x-upsert": "false" },
metadata: { bucketName: "girati", objectName: lavoroId + "/" + file.name, contentType: file.type },
chunkSize: 6 * 1024 * 1024, // pezzi da 6 MB, come richiesto da Supabase
onProgress: (inviati, totale) => avanzamento(inviati / totale),
onError: no,
onSuccess: () => ok(),
});
upload.findPreviousUploads().then((prec) => { // riprende un caricamento interrotto
if (prec.length) upload.resumeFromPreviousUpload(prec[0]);
upload.start();
});
});
}
Pezzi comuni a tutti i progetti
Glossario
- Storage
- Lo spazio di Supabase dove si salvano i file, come foto e audio, con le sue regole di accesso.
- tus
- Un protocollo per caricare file grandi a pezzi, che riprende da dove si era fermato se la connessione cade.
