🌐

Chat IA Público con Auth

👨‍🍳 Chef⏱️ 45 minutos

📋 Prerequisitos sugeridos

  • Chat IA con interfaz web
  • Firebase Auth

Lo que vas a construir

Un asistente de inteligencia artificial accesible desde internet, donde cualquier persona puede crear una cuenta con Google, chatear con la IA y ver su historial de conversaciones. Implementaras autenticacion con Firebase, limites de uso diario por usuario (10 mensajes gratis), persistencia de conversaciones en Firestore y una interfaz tipo ChatGPT. Al terminar, tendras una app desplegada en Vercel que puedes compartir con amigos o usar como base para tu propio producto SaaS.


Arquitectura

Usuario → Firebase Auth → Tu app Next.js
                              ↓
                         API de IA (Gemini/Claude)
                              ↓
                         Historial en DB

Paso 1: Pídele a una IA la app completa

Necesito una app de chat IA pública con:
- Next.js App Router
- Firebase Auth (Google login)
- Límite de 10 mensajes/día para usuarios free
- Historial de conversaciones en Firestore
- UI tipo ChatGPT
- API route que llame a Gemini
- TypeScript y Tailwind CSS

Dame la estructura de archivos y código completo.

Componentes clave

ArchivoFunción
app/api/chat/route.tsLlama a la API de IA
lib/firebase.tsConfig Firebase
components/ChatUI.tsxInterfaz del chat
hooks/useAuth.tsHook de autenticación

Rate limiting

async function checkRateLimit(userId: string): Promise<boolean> {
  const today = new Date().toISOString().split('T')[0]
  const ref = doc(db, 'usage', `${userId}_${today}`)
  const snap = await getDoc(ref)

  if (!snap.exists()) {
    await setDoc(ref, { count: 1 })
    return true
  }

  const { count } = snap.data()
  if (count >= 10) return false

  await updateDoc(ref, { count: count + 1 })
  return true
}

Deploy

Vercel + Firebase = gratis para empezar.


Próximo paso

Blog con Next.js + MDX