Print / Save as PDF
Use Chrome. Set margins to "None" or "Minimum". Save as "Angel_Mora_Resume_Senior_Ruby_on_Rails_Developer.pdf"
Software Engineer with 6+ years of professional experience specializing in Ruby on Rails full-stack development. Deep expertise building scalable web applications across SaaS platforms, enterprise systems, and GIS solutions following MVC architecture and object-oriented programming principles. Strong track record in performance optimization, test automation, and agile development. Currently building an AI-augmented content platform with a 15-agent orchestration system on Rails 8.
Professional Experience
[Monolith + AI Agents] Knowledge management and publishing platform that transforms Obsidian vaults into monetizable websites with newsletters, semantic search, and AI-powered content curation. Rails 8 application with a 15-agent AI orchestration system processing 10,000+ documents through a 7-phase content pipeline.
- Architected 15-agent AI orchestration system with 8 on-demand skills using Claude (Opus/Sonnet/Haiku), coordinating autonomous content processing across 7 pipeline phases
- Processed 8,032 bookmarks and 1,762 conversations into structured knowledge base using custom Ruby ETL scripts, reducing content curation time from days to hours
- Designed cost-optimized multi-model LLM strategy combining Claude, Ollama (local Qwen 3 14B), and NanoGPT, reducing AI infrastructure costs by 92% ($510/mo to $38/mo)
- Built spec-driven development workflow with agent quality assessment framework (7-dimension scoring) for auditing agent ecosystems across projects
- Implemented mobile-to-VPS autonomous agent workflow via GitHub Actions, enabling AI task execution from Android/Termux without dedicated server infrastructure
Stack: Rails 8, Hotwire, PostgreSQL 16, pgvector, Solid Queue/Cache/Cable, Kamal 2, Cloudflare R2, Claude API, Ollama, Quartz 4, Git
[Monolith] Industry-leading SaaS for branded merchandise. Contributed to Printavo, the flagship shop management platform serving thousands of print shops. Implemented features using Rails 6/7 with Hotwire and ViewComponent, maintained multi-provider payment architecture (Stripe, Payrix, PayPal), managed Pundit authorization policies, and led Rails 7 migration within agile SCRUM team.
- Reduced initial page load by 68% (2.5s to 0.8s) and database queries by 74% (47 to 12) by implementing Turbo Frames lazy loading for order dashboard tabs with Pundit authorization preserved in each partial
- Accelerated Rails 7 migration by leading 10 stories across 6 sprints, establishing migration patterns adopted by 8-person team and resolving gem compatibility issues
- Championed code quality by refactoring 100+ files to Rubocop standards across 32+ PRs, configuring Pronto for automated PR linting and haml-lint for template validation
- Managed Flipper feature flag lifecycle (creation, beta rollout, monitoring, cleanup) for billing, receiving, and email domain verification features across production deployments
- Maintained multi-provider payment testing with VCR cassettes for Stripe and debugged Capybara iframe interactions for Payrix embedded payments
Stack: Rails 6/7, Hotwire (Turbo, Stimulus), ViewComponent, Pundit, Flipper, Tailwind, HAML, MySQL, PostgreSQL, Redis, Sidekiq, Stripe, Payrix, VCR, Capybara, CircleCI, Heroku, NewRelic
[Monolith] Enterprise IT research and advisory company. Contributed across 9 products: SoftwareReviews, Provider Portal (built from scratch), Info-Tech CMS, MyPolicies, Pelican, Feedback, Kestrel, Warthog, and DDR Reports. Focused on performance optimization, CanCanCan/Pundit authorization, paper_trail audit trails, SAML SSO, and team collaboration through code reviews and technical presentations.
- Eliminated N+1 queries by refactoring core methods using
group_by/index_by hash lookups and activerecord-import for bulk operations, reducing feature lookups from O(n) to O(1)
- Implemented CanCanCan authorization for offering access control based on license status, writing RSpec tests for abilities and auditing authorization patterns across 5 applications
- Built paper_trail audit system using custom
paper_trail_event strings within ActiveRecord transactions for tracking review migrations with Rollbar error reporting
- Stabilized Sidekiq by diagnosing hanging jobs and implementing
super_fetch!, reliable_scheduler!, transactional_push! with systemd watchdog monitoring
- Built Pusher WebSocket progress reporting for LargeCategoryCreationJob handling 10,000+ record migrations with comprehensive error handling
- Implemented SAML SSO across 4 applications using Microsoft Entra and Okta, with SCIM group provisioning and role-based access per application
- Built Learning Content Library with complex query objects (Selleo Patterns::Query), Turbo Frames filter UI, and 371 lines of Capybara feature specs
- Built Provider Portal from scratch using SoftwareReviewsShared ViewComponents and breadcrumbs.js, establishing process standardization and knowledge-sharing across frontend teams
- Resolved MyPolicies Sidekiq multitenancy issues and led a Domain-Driven Design (DDD) refactor for core models to ensure robust data isolation
- Created comprehensive technical documentation, API references, and runbooks, translating complex engineering concepts for non-technical stakeholders and external clients
- Reduced test suite from 45 to 38 minutes by profiling with TestProf/FactoryBot and delivered Bullet gem presentation for team-wide N+1 detection adoption
Stack: Rails 5/6, PostgreSQL, MySQL, Redis, Sidekiq, CanCanCan, Pundit, paper_trail, acts_as_tenant, Pusher, Elasticsearch, jQuery, Stimulus, ViewComponent, RSpec, FactoryBot, Capybara, Semaphore CI, GitHub Actions, Heroku, Capistrano, Rollbar
[Microservices] Real-time logistics tracking platform for fleet management across Latin America. Joined during migration from Rails monolith to pure Ruby microservices on AWS serverless. Built GraphQL/REST integrations across 7 microservices, automated infrastructure with SAM/CloudFormation, and implemented PostGIS scripts for geographic data. All Lambda functions required 512MB memory and <500ms response.
- Built 5 GraphQL/REST integrations between AWS AppSync, API Gateway, and Lambda using adapter pattern to decouple core logic from transport layer
- Automated infrastructure deployment with SAM templates and CloudFormation across 3 environments with Aurora PostgreSQL Serverless
- Expanded to 2 new markets (Brazil, Colombia) by implementing PostGIS scripts using INEGI sources, QGIS, and Elasticsearch for geojson storage
- Contributed to fleet tracking invitation flow: GraphQL → Lambda → service layer → mobile push notification pipeline with JWT authentication
Stack: Ruby, React, AWS (Lambda, AppSync, API Gateway, Aurora PostgreSQL, CloudFormation, SAM, CloudWatch), PostGIS, GraphQL, Elasticsearch, Docker
[Monolith + REST API] Mexico's banking security company serving all major financial institutions. Built the Centro de Inteligencia Bancaria (CIB) -- a strategic intelligence center. Developed core Rails application with versioned REST API (api/v1, api/v2) serving a React-based Kepler.gl mapping frontend, processing ~200K georeferenced crime incidents with server-side rendering and API endpoints.
- Saved 120+ hours/month by creating 30+ rake tasks to automate coordinate processing, timestamp normalization, and polygon validation using activerecord-import for bulk insertion
- Built interactive crime maps with Leaflet.js and Kepler.gl (React) visualizing ~200K georeferenced incidents with clustering, choropleth layers, and timeline visualization
- Centralized intelligence workflows by building Rails monolith that transformed MS Access, DBF, Excel, and CSV data into unified analysis platform with Chartkick reports
- Led geospatial analysis for 3 analysts, training team on Kepler.gl and producing R/RMarkdown statistical reports for executive decision-making
Stack: Rails, PostgreSQL, PostGIS, JavaScript, Leaflet.js, Kepler.gl (React), Chartkick, ActiveRecord Import, Devise, Docker, Azure DevOps, Heroku
Academia de Empresarios (2020-2021): Led team of 5 developers and 2 designers to create equity crowdfunding MVP. Delivered in ~4 months by designing data model ERD and coordinating 24 SCRUM rituals following agile methodologies. Integrated Stripe API for payment processing with webhook callbacks. Stack: Rails, PostgreSQL, React, Stripe, Docker, GitHub Actions, AWS S3
Baos Life (2019-2020): Led 3 developers to translate Excel requirements into production Rails app. Launched subscription platform in single quarter with Stripe Connect for recurring payments across multiple tiers. Dockerized development with ngrok for webhook testing. Stack: Rails, PostgreSQL, React, Docker, Stripe Connect, Devise, GitHub Actions
Technical Skills
Backend
Rails 5/6/7/8, Hotwire (Turbo, Stimulus), ViewComponent, Sidekiq, GraphQL, Solid Queue/Cache/Cable
Auth & Audit
CanCanCan, Pundit, paper_trail, Flipper, Devise, SAML SSO
Databases
PostgreSQL (pgvector), PostGIS, MySQL, Redis, Elasticsearch
Testing
RSpec, FactoryBot, Capybara, VCR, TestProf, Bullet, SimpleCov
DevOps
Heroku, Docker, Kamal 2, AWS (Lambda, Aurora, S3, CloudFormation), CI/CD (GitHub Actions, CircleCI, Semaphore), Capistrano
AI/LLM
Claude API, Ollama, agent orchestration, RAG (pgvector), prompt engineering
Frontend
Stimulus, jQuery, React, Turbo Frames/Streams, Tailwind, Bootstrap, HAML
GIS
PostGIS, Leaflet.js, Kepler.gl, QGIS, clustering, choropleth
Practices
Agile/SCRUM, MVC, OOP, server-side rendering, spec-driven development
Education
MSc Computer Science & Telecom (Expected 2026)
UTEL | 2025 - Present | GPA: 9.4/10
CompTIA Security+ Prep
edX/ITESM | 2023
BA Philosophy
UNAM | 2014-2017; Graduated 2022 | GPA: 9.58 | Cedula: 13166504
Full Stack Developer
Microverse | 2020-2021 | Rails, React, <4% acceptance
Certifications
Kevin Mitnick Security Awareness
KnowBe4 | 2022
Microverse Fullstack Certification
2021
Programa Liderazgos Progresistas
Friedrich Ebert Stiftung | 2018
Languages
Spanish (Native) | English (Full Professional) | French (B1)