rizoma ACADEMYEspañol
FREE VIDEO + TWO PROMPTS

Tools for your
referral program.

Choose a platform or build it with Claude or Codex. Watch the video, then copy the prompt for your app.

1 min 48 s · The video and both prompts are in Spanish.

The two prompts from the video

Paste one into Claude Code or Codex inside your project. Fill in the reward, activation event and benefit for your app.

Prompt 1 · Rewardful + Stripe

Integrate a platform

Quiero agregar un programa de referidos a mi app con Rewardful. Mi stack es Next.js (App Router), Supabase para auth y base de datos, y Stripe Checkout para suscripciones.

Antes de escribir código, lee la documentación oficial de Rewardful sobre la instalación del script y la integración con Stripe Checkout, y dime qué versión estás siguiendo.

Haz esto:
1. Agrega el script de Rewardful en el layout raíz, con la llave pública en una variable de entorno (NEXT_PUBLIC_REWARDFUL_KEY). No pongas llaves en el código.
2. En la ruta del servidor que crea la sesión de Stripe Checkout, pasa el identificador de referido de Rewardful como client_reference_id, siguiendo la documentación.
3. Si el visitante llegó con referido, aplica automáticamente un cupón de Stripe para el invitado (te paso el ID del cupón); si no, deja allow_promotion_codes en true.
4. Crea una página /invita donde el usuario con sesión ve su enlace de afiliado, un botón «Compartir por WhatsApp» que abre https://wa.me/?text= con un mensaje en español de México codificado con encodeURIComponent, y un botón de copiar.
5. No cambies el flujo de pago actual más allá de lo necesario. Muéstrame el diff, la lista de variables de entorno y cómo probarlo en modo de prueba de Stripe con una compra de prueba.
Download prompt
Prompt 2 · Next.js + Supabase

Build it from scratch

Construye un programa de referidos en mi app. Stack: Next.js (App Router), Supabase (Postgres, auth, RLS) y Stripe. Textos en español de México.

Reglas del programa:
- Cada usuario tiene un código único, corto y legible (6 a 8 caracteres, sin 0/O ni 1/I).
- Quien invita gana [RECOMPENSA, p. ej. un mes gratis] cuando su invitado completa el evento de activación: [EVENTO, p. ej. «crea su primer proyecto»]. No al registrarse.
- El invitado recibe [BENEFICIO, p. ej. 20 % el primer mes] con un código promocional de Stripe limitado a primera compra.

Haz esto:
1. Migración SQL: tabla referral_codes (user_id único, code único) y tabla referrals (referrer_id, referred_id único, code, status: pending | activated | rewarded | rejected, created_at, activated_at, ip_hash, user_agent). Activa RLS: cada usuario solo lee sus filas; solo el servidor cambia status.
2. Captura del código: /r/[code] guarda el código en una cookie httpOnly de 30 días y redirige al registro. Al crear la cuenta, crea la fila en referrals como pending.
3. Activación: cuando ocurre el evento de activación, una función del servidor (o función de Postgres security definer) pasa el referido a activated y otorga la recompensa una sola vez (idempotente).
4. Antifraude básico: nadie se refiere a sí mismo; un usuario solo puede ser referido una vez; tope de recompensas por mes por usuario; marca para revisión si muchos registros comparten ip_hash o correo desechable; nunca confíes en el navegador para cambiar status.
5. Panel /invita: enlace personal, botón «Invitar por WhatsApp» que abre https://wa.me/?text=<mensaje con el enlace, codificado con encodeURIComponent>, botón de copiar, y contadores: invitados, activados, recompensas ganadas.
6. Registra eventos referral_link_shared, referral_signup y referral_activated en mi analítica.

Primero muéstrame el plan y la migración. Espera mi visto bueno antes de tocar el flujo de pago. Al final dime cómo probarlo de punta a punta con dos cuentas de prueba.
Download prompt
THE RIZOMA COURSE · YOUR FIRST THOUSAND USERS

Give your app a plan to find users.

Continue with the course The course is taught in Spanish.