Prisma AI
Un assistente AI per chi cerca lavoro: curriculum, offerte e colloqui
Cosa fa
Un copilota per chi cerca lavoro: migliora la presentazione dei progetti, adatta il curriculum, trova offerte adatte e aiuta a prepararsi ai colloqui.
Come guadagna
Progetto open source su GitHub con oltre 400 stelle, che non dichiara incassi. Ha licenza AGPL: puoi partire dal suo codice, ma se offri la tua versione online devi pubblicare anche il tuo codice modificato. Idee nostre per guadagnare: abbonamento durante la ricerca del lavoro, che di solito dura pochi mesi.
Rendilo tuo
- Per neodiplomati e neolaureati italiani al primo colloquio.
- Simulazione del colloquio a voce con domande tipiche del settore.
Le frasi da scrivere all'AI
1. Base del sito e grafica
Crea un'app web in italiano chiamata "Colloquio Pronto": aiuta chi cerca lavoro a raccontare bene i propri progetti ed esperienze e ad allenarsi ai colloqui: simulazioni di colloquio con domande vere per il ruolo e un giudizio su ogni risposta. Usa React, Vite, TypeScript e Tailwind CSS.
Pagine da creare:
1. Pagina iniziale con un esempio di simulazione e prezzi
2. Registrazione e profilo: ruolo cercato, esperienze, progetti
3. Le mie storie: esperienze riscritte con il metodo STAR
4. Simulazione di colloquio: domanda, risposta scritta o a voce, giudizio
5. Progressi: punteggi per tipo di domanda
Stile: professionale e incoraggiante: sfondo bianco, blu #1D4ED8, verde #059669, carattere "Inter", domanda grande al centro come una conversazione. 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:
- "storie": esperienza, situazione, compito, azione, risultato, collegate all'utente
- "simulazioni": ruolo, domande, risposte, giudizi, data
Regole di sicurezza obbligatorie:
- ogni utente vede solo le sue storie e simulazioni
- le registrazioni vocali non si conservano
- i crediti non si modificano 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. Le mie storie con il metodo STAR
L'utente descrive con parole sue un'esperienza o un progetto. Claude lo aiuta a riscriverlo con il metodo STAR (Situazione, Compito, Azione, Risultato), facendo domande quando mancano dettagli ("quanto è durato? quale risultato misurabile?") e senza mai inventare numeri o risultati.
Le storie diventano la base per il curriculum e per i colloqui: per ogni domanda tipica ("raccontami un problema che hai risolto") il sito suggerisce quale storia usare.
4. Simulazione di colloquio
La simulazione (un credito) propone 6 domande per il ruolo scelto: comportamentali, tecniche e motivazionali. L'utente risponde scrivendo o a voce (trascritta). Per ogni risposta Claude restituisce in JSON un punteggio da 1 a 5 per chiarezza, struttura STAR, pertinenza e concretezza, cosa ha funzionato e una versione migliorata usando solo le informazioni dell'utente (codice nei Dettagli tecnici).
Progressi per tipo di domanda e storico delle simulazioni.
5. Pagamenti con Stripe
Aggiungi pacchetti di crediti: 5 simulazioni a 9 €, 20 simulazioni a 25 €. Ogni nuovo utente riceve 1 crediti gratis. Ogni simulazione di colloquio costa un credito; le storie STAR sono gratis. Mostra sempre in alto quanti crediti restano e, quando finiscono, un riquadro per comprarne altri.
A pagamento riuscito il webhook aggiunge i crediti del pacchetto con la funzione aggiungi_crediti.
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. Onestà: dai una risposta vaga senza numeri e controlla che la versione migliorata non aggiunga numeri o risultati inventati.
Correggi quello che non va e scrivimi cosa hai cambiato.
Dettagli tecnici
Istruzioni per l'AI: giudica-risposta
Le istruzioni fisse che la Edge Function "giudica-risposta" dà a Claude, che risponde in JSON. Il resto della funzione (accesso, crediti, rimborso se l'AI rifiuta) è uguale per tutti i progetti: è nella guida "Chiamare l'AI dal server".
Sei un selezionatore esperto. Valuti la risposta di un candidato a una domanda di colloquio per il ruolo indicato. Dai un punteggio da 1 a 5 per: chiarezza, struttura STAR (situazione, compito, azione, risultato), pertinenza, concretezza. Indica 2 cose fatte bene e 2 da migliorare. Proponi una versione migliorata usando SOLO le informazioni presenti nella risposta e nelle storie del candidato: non inventare numeri, aziende o risultati; dove servirebbe un dato scrivi [AGGIUNGI IL DATO]. Rispondi solo con JSON: {"punteggi": {"chiarezza", "star", "pertinenza", "concretezza"}, "bene": [], "migliorare": [], "versione_migliorata"}.Storie e progressi per tipo di domanda
Le storie STAR dell'utente e la media dei punteggi per tipo di domanda nelle simulazioni.
create table storie (
id uuid primary key default gen_random_uuid(),
utente_id uuid not null references auth.users(id) on delete cascade,
titolo text not null,
situazione text not null default '',
compito text not null default '',
azione text not null default '',
risultato text not null default ''
);
create table risposte (
id uuid primary key default gen_random_uuid(),
utente_id uuid not null references auth.users(id) on delete cascade,
simulazione_id uuid not null,
tipo_domanda text not null check (tipo_domanda in ('comportamentale', 'tecnica', 'motivazionale')),
domanda text not null,
risposta text not null,
giudizio jsonb not null,
data timestamptz not null default now()
);
alter table storie enable row level security;
create policy "le mie righe" on storie
for all using (auth.uid() = utente_id) with check (auth.uid() = utente_id);
alter table risposte enable row level security;
create policy "le mie righe" on risposte
for all using (auth.uid() = utente_id) with check (auth.uid() = utente_id);
-- Media dei punteggi per tipo di domanda
select tipo_domanda,
round(avg(((giudizio -> 'punteggi' ->> 'chiarezza')::int + (giudizio -> 'punteggi' ->> 'star')::int +
(giudizio -> 'punteggi' ->> 'pertinenza')::int + (giudizio -> 'punteggi' ->> 'concretezza')::int) / 4.0), 1) as media
from risposte
where utente_id = auth.uid()
group by tipo_domanda;
Pezzi comuni a tutti i progetti
- Pagamenti con Stripe
- Profili, piano e crediti
- Chiamare l'AI dal server
- Controllo finale prima di pubblicare
Glossario
- JSONB
- Un tipo di colonna che contiene dati strutturati flessibili, come un piccolo documento.
- Metodo STAR
- Un modo di raccontare un'esperienza in 4 parti: Situazione, Compito, Azione, Risultato. I selezionatori lo amano.