Cargando
STACK CON CONTEXTO
No solo los iconos — el contexto real de cada herramienta: para qué la uso, por qué la elegí y qué evita que la cambie por otra.
Mi base de datos principal para cualquier cosa seria.
ACID compliance es no negociable cuando trabajo con datos financieros. Foreign keys, índices parciales, JSON nativo, y soporte de concurrencia real. Lo uso en Inventario Municipal y FinTrack. No cambiaría a MySQL por el soporte de tipos avanzados (JSONB, arrays, ranges).
Base de datos relacional para entornos Odoo y sistemas empresariales.
Lo uso principalmente donde Odoo lo requiere y en integraciones con sistemas empresariales existentes. Para proyectos nuevos prefiero PostgreSQL por el soporte de tipos avanzados, pero MySQL cubre perfectamente las necesidades de la mayoría de aplicaciones de negocio.
Desarrollo local y prototipado.
Para proyectos personales pequeños o cuando necesito un entorno de desarrollo sin levantar Docker. Nunca en producción con usuarios concurrentes.
El lenguaje que más he trabajado en profundidad.
El lenguaje central de mi grado en Desarrollo de Aplicaciones y el que más domino. Jakarta EE para aplicaciones empresariales, gestión de dependencias con Maven (POMs), conexión a bases de datos levantadas en Docker via JDBC/JPA, y manipulación de XML. Su robustez y tipado estricto lo hacen especialmente adecuado para sistemas de negocio de larga vida.
API principal para proyectos de datos financieros.
Async nativo, validación automática con Pydantic, y documentación OpenAPI sin esfuerzo. Lo uso en FinTrack para el polling de datos de mercado. Es 3x más rápido que Flask en benchmarks de I/O. El tipado de Pydantic ahorra horas de debugging en tiempo de ejecución.
Backend para sistemas con gestión de usuarios y RBAC.
El admin panel integrado me ahorró semanas de desarrollo en MacroMate. Ideal cuando el cliente necesita interfaz de gestión interna. Django ORM es menos potente que SQLAlchemy pero más rápido de implementar. Lo elijo cuando la gestión de permisos y roles es crítica.
El lenguaje que uso a diario para procesamiento de datos.
pandas para manipulación de DataFrames, NumPy para matrices metabólicas (MacroMate), requests/httpx para APIs. El ecosistema de data science es insustituible. No usaría JavaScript en el backend para nada relacionado con datos financieros — la falta de tipado estricto es un riesgo.
Frontend principal para todos los proyectos web.
Server Components + Static Generation + Dynamic Routes. Uso generateStaticParams para case studies e insights. El App Router es más complejo que Pages Router pero la separación server/client da control total sobre hidratación y SEO. TypeScript obligatorio desde el día 1.
Estilos en todos los proyectos.
La velocidad de prototipado es imbatible. utility-first elimina el naming de clases. Uso siempre la configuración con CSS variables para temas (zinc-950 como base). El único trade-off: el HTML queda verboso, pero con componentes React eso no es problema.
Animaciones de UI.
Para animaciones complejas con scroll triggers y physics-based springs. useScroll + useTransform para parallax. No lo usaría para micro-animaciones simples — ahí prefiero Tailwind transitions.
Obligatorio en cualquier proyecto de más de 1 día.
El tiempo invertido en tipado se recupera 10x en debugging evitado. Especialmente crítico en proyectos con múltiples desarrolladores o cuando los datos financieros atraviesan varias capas.
Contenedores para desarrollo local y despliegue.
docker-compose para levantar PostgreSQL + Redis + backend en local con un comando. En producción, prefiero Vercel para frontend y Railway/Render para backend cuando el cliente no tiene infraestructura propia.
Despliegue de todos los frontends Next.js.
Zero-config para Next.js, preview deployments automáticos por PR, y edge network global. El plan gratuito es suficiente para proyectos personales. Para producción seria, el plan Pro añade analytics y logs.
DNS, proxy y protección DDoS.
Uso Cloudflare en todos los dominios propios. El plan gratuito incluye WAF básico y caché de activos estáticos. R2 como alternativa a S3 para almacenamiento de archivos sin egress fees.
Control de versiones y CI.
GitHub Actions para tests y linting automático en PR. Prefiero commits pequeños y frecuentes con mensajes descriptivos. Nunca force-push a main.
Modelado financiero y automatización de reportes.
Power Query para ETL básico, Power Pivot para modelos de datos, VBA para automatización de reportes repetitivos. Sigo usándolo porque los clientes corporativos viven en Excel. El objetivo siempre es eliminarlo eventualmente con un pipeline Python.
Visualización de datos para stakeholders no técnicos.
Dashboards conectados a PostgreSQL via DirectQuery. Útil para dar visibilidad a directivos sin que tengan que escribir SQL. Prefiero construir el modelo semántico en Python y conectar Power BI solo como capa de visualización.
Presentaciones de resultados y propuestas para clientes.
Para comunicar análisis y resultados a stakeholders no técnicos. Lo uso cuando el contexto lo pide — reuniones con dirección, propuestas técnicas o informes ejecutivos donde una hoja de Excel no basta.
ERP/CRM para gestión empresarial integral.
Plataforma modular de gestión empresarial — contabilidad, ventas, inventario, RRHH en un único sistema. Lo uso con clientes que necesitan centralizar operaciones dispersas. Customizable vía módulos Python, habitualmente sobre MySQL.
Editor principal.
Extensiones clave: Pylance (Python), Prisma, Tailwind IntelliSense, GitLens, Error Lens. El terminal integrado con WSL2 en Windows hace el flujo idéntico a macOS/Linux.
Entorno Linux en Windows.
El ecosistema de herramientas Python/Docker es significativamente mejor en Linux. WSL2 con Ubuntu 22.04 elimina la fricción de Windows para el desarrollo backend. Performance prácticamente nativa.
Cliente visual para MySQL.
Interfaz oficial de Oracle para gestión de bases de datos MySQL. Lo uso para modelado visual de esquemas, exportación e importación de datos y consultas ad-hoc en proyectos con Odoo o integraciones legacy.
Stack actualizado en Mayo 2026. Cambia con cada proyecto.