Tu calendario, tu copiloto
Organiza tu vida hablando. Una aplicación de calendario potenciada por IA que crea eventos, rutinas y planifica tu tiempo automáticamente.
Características • Demo • Instalación • Configuración • Tech Stack • Contribuir • Licencia
- IA Conversacional - Habla naturalmente para crear y gestionar eventos
- Google Calendar - Sincronización bidireccional en tiempo real
- Rutinas Inteligentes - Crea hábitos recurrentes que se adaptan a tu disponibilidad
- Análisis de Disponibilidad - La IA analiza tu calendario para sugerir horarios óptimos
- Preview de Eventos - Visualiza eventos propuestos antes de confirmarlos
- Tema Oscuro/Claro - Interfaz adaptable a tus preferencias
- Responsive - Funciona en desktop y móvil
Próximamente
- Node.js 18+
- Cuenta de Google Cloud Platform con Calendar API habilitada
- Cuenta de AWS con acceso a Bedrock (para el modelo de IA)
- Clona el repositorio
git clone https://github.com/tu-usuario/calendable.git
cd calendable- Instala las dependencias
npm install- Configura las variables de entorno
cp .env.example .env.local- Inicia el servidor de desarrollo
npm run devCrea un archivo .env.local con las siguientes variables:
# Google OAuth
GOOGLE_CLIENT_ID=tu_client_id
GOOGLE_CLIENT_SECRET=tu_client_secret
# NextAuth
NEXTAUTH_SECRET=tu_secret_key_generado
NEXTAUTH_URL=http://localhost:3000
# AWS Bedrock
AWS_ACCESS_KEY_ID=tu_access_key
AWS_SECRET_ACCESS_KEY=tu_secret_key
AWS_REGION=us-east-1
# Modelo de IA (opcional)
BEDROCK_MODEL=claude-3-haiku- Ve a Google Cloud Console
- Crea un nuevo proyecto o selecciona uno existente
- Habilita la Google Calendar API
- Ve a Credenciales > Crear credenciales > ID de cliente OAuth
- Configura la pantalla de consentimiento OAuth
- Añade los URIs de redirección:
http://localhost:3000/api/auth/callback/google(desarrollo)https://tu-dominio.com/api/auth/callback/google(producción)
- Copia el Client ID y Client Secret
- Accede a AWS Console
- Ve a Amazon Bedrock > Model access
- Solicita acceso a los modelos de Claude
- Crea un usuario IAM con los permisos:
bedrock:InvokeModelbedrock:InvokeModelWithResponseStream
| Modelo | Descripción |
|---|---|
claude-3-haiku |
Rápido y económico (por defecto) |
claude-3.5-sonnet |
Balance entre calidad y velocidad |
claude-sonnet-4 |
Más potente |
| Tecnología | Uso |
|---|---|
| Next.js 16 | Framework React |
| TypeScript | Tipado estático |
| Tailwind CSS 4 | Estilos |
| HeroUI | Componentes UI |
| Framer Motion | Animaciones |
| NextAuth.js | Autenticación |
| Strands Agents SDK | Agente de IA |
| AWS Bedrock | Modelo Claude |
| Google Calendar API | Integración calendario |
src/
├── agent/ # Lógica del agente de IA
│ ├── agent.ts # Configuración del agente
│ └── calendar-tools.ts # Herramientas de calendario
├── app/ # Rutas de Next.js (App Router)
│ ├── api/ # Endpoints API
│ │ ├── auth/ # NextAuth
│ │ ├── calendar/ # Calendario
│ │ └── chat/ # Chat con el agente
│ ├── app/ # Aplicación principal
│ ├── privacy/ # Política de privacidad
│ └── terms/ # Términos de servicio
├── components/ # Componentes React
└── lib/ # Utilidades
npm run dev # Servidor de desarrollo
npm run build # Build de producción
npm run start # Servidor de producción
npm run lint # LinterEl agente de IA tiene acceso a las siguientes herramientas:
| Herramienta | Descripción |
|---|---|
get_current_datetime |
Obtiene fecha y hora actual |
get_calendar_events |
Lista eventos en un rango |
analyze_availability |
Analiza slots libres |
create_calendar_event |
Crea nuevos eventos |
update_calendar_event |
Actualiza eventos |
delete_calendar_event |
Elimina eventos |
move_calendar_event |
Mueve eventos |
get_upcoming_events |
Próximos eventos |
suggest_next_action |
Sugiere qué hacer ahora |
¡Las contribuciones son bienvenidas!
- Fork el repositorio
- Crea una rama para tu feature (
git checkout -b feature/nueva-funcionalidad) - Commit tus cambios (
git commit -m 'Añade nueva funcionalidad') - Push a la rama (
git push origin feature/nueva-funcionalidad) - Abre un Pull Request
- Sigue el estilo de código existente
- Añade tests si es posible
- Actualiza la documentación si es necesario
- Escribe mensajes de commit descriptivos
- Soporte para múltiples calendarios
- Notificaciones y recordatorios
- Análisis de cumplimiento de rutinas
- Integración con servicios de fitness
- Plantillas de rutinas predefinidas
- Exportación de rutinas
- Modo offline
Este proyecto está bajo la licencia MIT. Ver el archivo LICENSE para más detalles.
Hecho con ❤️ por la comunidad