Constructor de portafolio (Portfolio Builder) hecho con Vite + React + TypeScript, con estilos en Tailwind y asistencia opcional por Gemini vía un endpoint serverless.
- Editor (Builder) + vista previa (Preview)
- Modo oscuro global
- Exportar / importar datos en JSON
- Asistencia IA (Gemini) vía
POST /api/gemini(la API key no se expone al navegador)
- Vite + React + TypeScript
- Tailwind CSS (compilado con PostCSS)
- Gemini (
@google/genai) en serverless (Vercel)
La app cliente llama a POST /api/gemini y el backend (serverless) ejecuta Gemini usando la variable de entorno GEMINI_API_KEY.
- Handler:
api/gemini.ts - Lógica:
server/gemini.ts - Cliente:
services/geminiService.ts
- Node.js (LTS recomendado)
- Instalar dependencias:
pnpm install
- Crear un archivo
.env.localen la raíz:GEMINI_API_KEY=tu_api_key
- Levantar el entorno de desarrollo:
pnpm run dev
- Importa el repo en Vercel.
- Configura la variable de entorno:
GEMINI_API_KEY: tu API key de Gemini.
- Despliega.
pnpm run dev: desarrollopnpm run build: build de producciónpnpm run preview: previsualizar buildpnpm run verify:tsc+build+ sanity-check anti “texto pegado”
- No subas
.env.localal repo. - La IA se consume server-side; el navegador nunca debería recibir la API key.
GPL-3.0-only. Ver LICENSE.
