
Andrés Giraldo
software
developer
About
Full Stack Software Engineer with 4+ years of experience at Ideamosmas, leading the development of Controlo and Exploreti. I own the entire technical stack: MySQL/PostgreSQL databases, Java Spring Boot microservices, Node.js reporting services, Nuxt/Vue frontends with Tailwind and NuxtUI, and Azure DevOps CI/CD pipelines.
Experience
- -
Full Stack Software Engineer @ Ideamosmas
CO - On-siteSummary:
- Leading the full development lifecycle of Controlo and Exploreti platforms. Responsible for database design, backend microservices, frontend applications, and DevOps infrastructure.
Responsibilities:
- Architecting and maintaining MySQL and PostgreSQL databases for high-traffic applications.
- Developing and scaling Java Spring Boot microservices for core business logic.
- Building Node.js services for reporting and data processing.
- Creating responsive frontends with Nuxt, Vue, Tailwind, and NuxtUI.
- Managing CI/CD pipelines and deployments on Azure DevOps.
- Owning the entire technical stack from database to production deployment.
- Java
- Spring Boot
- Node.js
- Vue
- Nuxt
- Tailwind
- MySQL
- PostgreSQL
- Azure
- Git
- GitHub
Projects
B2B ticketing, access-control, and point-of-sale platform for events and venues (Ideamosmas), being rebuilt as a cloud-native microservices system. I work across the stack — Java 21 / Spring Boot 4 event-driven services on Azure plus a Nuxt 4 back-office — powering multi-channel sales (POS, web, kiosk, mobile) with real-time QR ticket validation.
- Event-driven microservices (Java 21, Spring Boot 4) on Azure Container Apps
- Database-per-service on PostgreSQL 16 with strict multi-tenancy
- Custom RS256 JWT auth with role- and permission-based access control
- Async messaging via Azure Service Bus with the transactional outbox pattern
- Real-time QR ticket validation with in-memory (Caffeine) caching
- Unified multi-channel sales: POS, web, kiosk, and mobile (PDA)
- DIAN-compliant electronic invoicing for Colombia
- Nuxt 4 + Nuxt UI back-office with a BFF (server-side JWT) pattern
- Java
- Spring Boot
- PostgreSQL
- Azure
- Redis
- +3
Full-stack tourism marketplace for Colombia (Ideamosmas) where travelers discover, book, and pay for experiences — tours, parks, and attractions — offered by local suppliers. I work end-to-end on a Nuxt 4 app with a Drizzle/PostgreSQL backend, a real-time availability engine, secure payments, and a supplier portal for managing listings and reservations.
- Full-stack Nuxt 4 (SSR + Nitro) with Drizzle ORM on PostgreSQL 16
- Slot-based booking engine with real-time availability and atomic inventory locks
- Multiple payment methods (ePayco, PSE, Google Pay) with reconciliation jobs
- Dual customer/supplier auth with OAuth (Google, Apple, Facebook)
- Supplier portal: listings, availability, bookings, payouts, and QR ticket scanning
- Marketing engine: coupons, flash sales, gift cards, referrals, and collections
- HMAC-signed QR vouchers and a partner Sync API (HMAC-SHA256)
- Multi-language (ES/EN/FR) with SEO: JSON-LD, sitemaps, and ISR caching
- Nuxt
- Vue
- TypeScript
- Tailwind
- Drizzle
- +3
Smart parking management software used by 100+ businesses in Colombia. Manages over 2 million parking bays monthly and 1 million online transactions yearly, reducing client operational costs by 20%.
- Full automation with LPR camera integration
- Ticketless parking system
- Real-time cloud-based reporting
- Electronic invoicing (DIAN compliant)
- Mobile payment integration
- Multi-location centralized management
- Astro
- Tailwind
- TypeScript
- Netlify
Web platform for a chess ecosystem: a chess school with online class booking, tournaments, and a members area. Full-stack Nuxt 4 app with an authenticated admin panel, Stripe payments, transactional email, and image storage on Cloudflare R2.
- Chess academy with online class booking and scheduling
- Stripe payment integration for enrollments
- Authenticated admin panel with sealed sessions
- Transactional email via Resend (bookings and alerts)
- Image uploads to Cloudflare R2
- PostgreSQL with Drizzle ORM and typed migrations
- Deployed on Railway with CI-driven migrations
- Nuxt
- Vue
- TypeScript
- Tailwind
- PostgreSQL
- +3
Personal loan manager that feels friendlier than a bank but takes money seriously. Track money lent and borrowed, payment schedules, and balances through clear dashboards and interactive charts.
- Loan tracking for money lent and borrowed
- Payment schedules and balance calculations
- Interactive dashboards and charts with Unovis
- Authenticated multi-user sessions
- PostgreSQL with Drizzle ORM
- State management with Pinia
- End-to-end tested with Playwright
- Nuxt
- Vue
- TypeScript
- Tailwind
- PostgreSQL
- +2
A modular ecommerce platform I'm building toward a Shopify-style product: pluggable payment gateways and shipping-provider integrations on top of a headless Medusa backend and a Nuxt storefront. It currently powers a concrete first case (an independent cosmetics brand) while the broader integration-driven vision takes shape.
- Headless commerce backend with Medusa
- Nuxt 4 storefront (Vue + Pinia) via the Medusa JS SDK
- Designed for pluggable payment-gateway integrations
- Designed for shipping-provider integrations
- Multi-region support with automatic country detection
- Turborepo monorepo with pnpm workspaces
- First real-world case: an independent cosmetics brand
- Medusa
- Nuxt
- Vue
- Pinia
- TypeScript
- +2
Professional website for a financial consultant and insurance agent in Madrid, Spain. Features service showcases, appointment scheduling, and a modern design focused on trust and clarity.
- Professional landing page for financial services
- Service catalog: Home, Health, Liability insurance
- Investment and savings advisory section
- Appointment scheduling integration
- WhatsApp contact integration
- Mobile-responsive design
- Vue
- Nuxt
- TypeScript
- Tailwind
- Cloudflare Pages
Personal portfolio website showcasing professional experience, projects, and technical skills. Built with modern web technologies for optimal performance and user experience.
- Server-Side Rendering with Astro
- Interactive animations with GSAP
- Particle effects and smooth transitions
- Multi-language support (English/Spanish)
- Responsive design with Tailwind CSS
- React 19 integration for dynamic components
- Optimized for performance and SEO
- Deployed on Cloudflare Pages
- Astro
- React
- TypeScript
- Tailwind
- GSAP
- +1
Modern landing page for a mobile rewards app designed for competitive gamers, featuring dark theme aesthetics and mobile-first design.
- Responsive dark theme design
- Mobile-first approach
- Smooth animations with prefers-reduced-motion support
- Astro
- Tailwind
Mission-based gaming rewards platform for Valorant players. Fully AI-built cross-platform mobile app using OpenCode agent orchestration. Full Stack Contributor on a project that syncs with Riot Games accounts to track player performance and reward mission completion.
- Fully built with AI agents and orchestration
- Cross-platform mobile app (iOS, Android, Web)
- Riot Games account integration with real-time match sync
- Mission system with 90+ daily missions
- Global leaderboard and rewards system
- React Native
- Expo
- TypeScript
- Convex
- Zustand
- +2
Skills
- Java
- Spring Boot
- Node.js
- MySQL
- PostgreSQL
- Vue
- Nuxt
- Angular
- Tailwind
- TypeScript
- JavaScript
- HTML
- CSS
- Azure
- CI/CD
- Git
- GitHub
- Astro
- React
- React Native
- Expo
- Zustand
- Convex
- Jest
- Drizzle ORM
- Stripe
- Medusa
- Pinia
- AI Agents
- Agent Orchestration
- OpenCode
- Skills.sh
- Agents.md