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
| Archivo | Función |
|---|---|
app/api/chat/route.ts | Llama a la API de IA |
lib/firebase.ts | Config Firebase |
components/ChatUI.tsx | Interfaz del chat |
hooks/useAuth.ts | Hook 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.