Aplicación web interactiva para reflexión ética basada en filosofía kantiana
Kantify es una aplicación web que aplica el experimento de universalización de Kant para ayudar a los usuarios a reflexionar sobre las consecuencias éticas globales de sus decisiones cotidianas. La plataforma presenta dilemas éticos interactivos y genera retroalimentación personalizada usando el principio "¿Qué pasaría si todos hicieran esto?" .
- Sesiones 100% anónimas: Sin recolección de datos personales
- Persistencia local: Datos almacenados únicamente en localStorage del navegador
- 6 tópicos filosóficos: Temporalidad Moral, Alteridad Radical, Imperativo de Universalización, Ontología de la Ignorancia, Economía Moral del Deseo, Microética Cotidiana
- 3 niveles de intensidad: Suave, Medio, Extremo
- Respuestas matizadas: Sistema de sliders para capturar posiciones éticas complejas
- Generación RAG: Dilemas basados en textos de Kant, Levinas, Bauman, Butler y Jonas
- Narrativas kantianas: Retroalimentación inmediata usando Google Genkit y Gemini
- Fundamentación filosófica: Cada dilema incluye base teórica y fuentes utilizadas
- Análisis de respuestas: Generación automática de perfil basado en decisiones
- Exportación PDF: Descarga de perfil ético anónimo
- Frontend: Next.js 14 con App Router, TypeScript, Tailwind CSS
- IA: Google Genkit con Gemini para narrativas, OpenAI GPT para generación RAG
- Backend: FastAPI para sistema RAG
- Base de Datos: ChromaDB para embeddings vectoriales
- Estado: React Context API para gestión global
- HomePage (/): Página de bienvenida y explicación del concepto
- DilemmasPage (/dilemmas): Interfaz principal de interacción con dilemas
- ProfilePage (/profile): Visualización y exportación del perfil ético
- Node.js 18+
- Python 3.8+
- Claves API: Google AI (Gemini) y OpenAI
# Clonar repositorio
git clone https://github.com/jujimenezd/kantify.git
cd kantify
# Instalar dependencias
npm install
# Configurar variables de entorno
cp .env.example .env.local
# Editar .env.local con tu GOOGLE_API_KEY# Navegar al directorio RAG
cd rag
# Instalar dependencias Python
pip install -e .
pip install -r config/requirements_api.txt
# Configurar OpenAI API Key
echo "OPENAI_API_KEY=tu_clave_aqui" > .env
# Crear base de datos vectorial
python core/create_database.py# Terminal 1: Iniciar servidor RAG
cd rag
python scripts/start_server.py
# Terminal 2: Iniciar aplicación Next.js
npm run dev
# Terminal 3 (opcional): Modo desarrollo Genkit
npm run genkit:devLa aplicación estará disponible en http://localhost:9002
cd rag
python scripts/test_rag.py # Pruebas por CLI
python scripts/test_api.py # Pruebas por CLI- RAG API: http://localhost:8000
- Documentación: http://localhost:8000/docs
kantify/
├── src/
│ ├── app/ # Páginas Next.js
│ ├── components/ # Componentes React
│ ├── contexts/ # Gestión de estado global
│ ├── lib/ # Utilidades y tipos
│ ├── ai/flows/ # Flujos Genkit
│ └── data/ # Datos estáticos
├── rag/
│ ├── core/ # Motor RAG
│ ├── api/ # Servidor FastAPI
│ ├── data/ # PDFs filosóficos
│ └── docs/ # Documentación técnica
└── public/ # Assets estáticos- Bienvenida: Introducción al concepto en la página principal
- Reflexión: Interacción con dilemas éticos usando sliders
- Narrativa: Recepción de retroalimentación kantiana personalizada
- Perfil: Generación y exportación del perfil ético
- Sistema RAG: Documentación completa del backend
- API FastAPI: Endpoints y integración
Para contribuir:
- Fork del repositorio
- Crear rama feature (git checkout -b feature/nueva-funcionalidad)
- Commit cambios (git commit -am 'Agregar nueva funcionalidad')
- Push a la rama (git push origin feature/nueva-funcionalidad)
- Crear Pull Request
MIT licence