¡Bienvenido a mi portafolio personal! Soy Nelson Ramos, un desarrollador full-stack con más de 5 años de experiencia en el diseño, desarrollo e implementación de servicios RESTful y aplicaciones web escalables.
- JavaScript/TypeScript: NestJS, Express, Angular, Vue 3
- Java: Spring Boot, Spring Batch
- Python: Desarrollo de módulos en Odoo
- SQL: PostgreSQL, MySQL, Microsoft SQL Server
- DevOps: Git, GitHub, GitLab CI/CD, Jenkins, Docker
- Bases de Datos: MongoDB, PostgreSQL, MySQL
- Metodologías: Scrum, SOLID, POO, Patrones de Diseño
- Herramientas: Postman, DBeaver, VS Code, IntelliJ
- Integración de pasarelas de pago (RedPay)
- SSO con Keycloak
- Desarrollo de módulos personalizados en Odoo
- APIs REST escalables
- Automatización con Puppeteer
Sistema de integración de pasarela de pagos para fintech, con middleware de ecosistema.
Módulos personalizados para servicios farmacéuticos con integración de IA.
Implementación de Single Sign-On para múltiples servicios internos.
- Ingeniero en Informática - I.P Santo Tomas (2012-2015)
- Técnico en Plataformas Informáticas - I.P Santo Tomas (2009-2013)
- Técnico en Telecomunicaciones - Liceo Juan Piamarta (2007-2009)
- Desarrollo de APIs REST con NestJS
- Creación de componentes en Vue 3 con Vuetify
- Integración de pagos y SSO
- Desarrollo de APIs con Spring Boot
- Procesamiento de datos con Spring Batch
- Interfaces frontend con Angular
- Automatización con Puppeteer y AngularJS
- APIs con Hapi y migración a Angular 9
- Arquitectura de bases de datos en MongoDB
Trabajo bajo una filosofía que me permite entregar proyectos sólidos, eficientes y con un toque único: Trabajo Remoto y Vibe Coding.
No importa dónde estés, puedo desarrollar, optimizar y entregar soluciones sin límites geográficos. Esto me da la flexibilidad de trabajar de forma estratégica, manteniendo un flujo constante y una comunicación ágil.
Para mí, programar es más que escribir líneas de código: es un ambiente, una energía. Mi kit incluye Cursor para acelerar el desarrollo con IA, VS Code y suite de Jetbrains para personalizar cada proyecto, y una buena taza de café con música lo-fi.
Cada proyecto lo trato como si fuera propio: cuidando los detalles, optimizando recursos y asegurando que el resultado no solo cumpla, sino que impresione.
- Email: nelsonalejandroramosrivera@gmail.com
- LinkedIn: Nelson Ramos
- GitHub: nelsonalejandro
- Instagram: nelsonalejandroramos
- Node.js (versión 16 o superior)
- npm o yarn
-
Clona el repositorio:
git clone https://github.com/nelsonalejandro/portafolio.git cd portafolio -
Instala las dependencias:
npm install
-
Inicia el servidor de desarrollo:
npm run dev
-
Abre tu navegador en
http://localhost:5173
npm run buildLos archivos de producción estarán en la carpeta dist.
- Responsive: Diseño adaptativo para móviles y desktop
- Tema Oscuro/Claro: Alternancia entre modos
- Internacionalización: Soporte para español e inglés
- Animaciones: Transiciones suaves con Framer Motion
- Impresión Optimizada: Estilos especiales para impresión en PDF
- AI Chat Assistant: Asistente virtual "El Socio" con reconocimiento de voz y síntesis de voz
- Integración con ApiFreeLLM (modelo Llama 3)
- Reconocimiento de voz en español
- Síntesis de voz con voz masculina (Jorge)
- Contexto de conversación persistente
- Proxy PHP para producción (cPanel/shared hosting) que evita CORS
- Google Tag Manager: Análisis de tráfico y comportamiento de usuarios
Crea un archivo .env en la raíz del proyecto con las siguientes variables:
VITE_APIFREELLM_API_KEY=tu_api_key_de_apifreellmImportante: VITE_APIFREELLM_API_KEY solo se usa en desarrollo. En producción, la API key debe configurarse en el servidor (ver sección Deploy en Producción).
npm run buildSube todo el contenido de dist/ a la carpeta raíz de tu dominio (ej. public_html/).
El proxy PHP (api/freellm/chat.php) busca la API key en este orden:
- Opción A (recomendada): archivo en el Home Directory (fuera del webroot)
- Crea
~/.apifreellm_api_keycon solo la key como contenido.
- Crea
- Opción B (fallback): archivo local protegido
- El build ya incluye
api/freellm/.apifreellm_api_key(protegido por.htaccess). - Si usas esta opción, asegúrate de que el archivo exista en el servidor tras subir
dist/.
- El build ya incluye
- El chat debe llamar a
/api/freellm/chat.php(mismo origen, sin CORS). - Si falla, abre
https://tudominio.cl/api/freellm/debug.phppara diagnosticar rutas y permisos.
- No exponer
VITE_APIFREELLM_API_KEYen producción: las variablesVITE_*quedan públicas en el bundle. - Rotar la key si estuvo expuesta: revoca la key anterior y genera una nueva en ApiFreeLLM.
- El proxy PHP oculta la key del cliente y evita CORS al reenviar la request server-side.
Este proyecto está bajo la Licencia MIT - ver el archivo LICENSE para más detalles.
© Copyleft Nelson Ramos - Talca, VII Región del Maule, Chile